Brunot
Loading...
Searching...
No Matches
System.h
Go to the documentation of this file.
1// File: System.h
2// Description: The head of the systems class, where most systems will inherit from.
3// Author(s): Aidan Hartman (aidan.hartman@digipen.edu)
4// 2025 / 09 / 11
5// (C) Digipen 2025
6// ____ __ __ __
7// /\__ _\/\ \ /\ \/\ \
8// \/_/\ \/\ \ \___ __ \ \ \_\ \ ___ __ __ ____ __
9// \ \ \ \ \ _ `\ /'__`\ \ \ _ \ / __`\/\ \/\ \ /',__\ /'__`\
10// \ \ \ \ \ \ \ \/\ __/ \ \ \ \ \/\ \L\ \ \ \_\ \/\__, `\/\ __/
11// \ \_\ \ \_\ \_\ \____\ \ \_\ \_\ \____/\ \____/\/\____/\ \____\
12// \/_/ \/_/\/_/\/____/ \/_/\/_/\/___/ \/___/ \/___/ \/____/
13#pragma once
14#include "GameObject.h"
15
16class System : public GameObject
17{
18public:
19 enum class Type : unsigned short
20 {
22 newSystemStub = 100, // so that the Stub can build
23 OpenGL = 200,
24 Input = 300,
25 Editor = 400,
26 Messaging = 500,
27 Camera = 600,
28 Logging = 700,
30 Scoring = 800,
33 ActionList = 1100,
34 DebugDraw = 1150,
35 TestRunner = 1200,
37 };
38
39 auto showMenu() -> void override;
40 [[nodiscard]] auto getKey() const -> Key override;
41
42 auto getParent() const -> GameObject* override;
43
44protected:
48 virtual auto systemShowMenu() -> void
49 {
50 }
51
52 System(const std::string& typeName, Type systemType);
53
54private:
56};
the base class for the engine, most things inherit from this.
the base class for the engine, most things inherit from this.
Definition GameObject.h:77
std::string typeName
the typeName of a GameObject.
Definition GameObject.h:527
GameObject(std::string typeName, gobj::Type parentType, gobj::Type type)
constructor for gameobject.
Definition GameObject.cpp:23
Definition Logging.h:21
virtual auto systemShowMenu() -> void
Specific systems should override this function to show their specific menu for the system.
Definition System.h:48
Type
Definition System.h:20
@ Input
Definition System.h:24
@ Editor
Definition System.h:25
@ TestRunner
Definition System.h:35
@ OpenGL
Definition System.h:23
@ ActionList
Definition System.h:33
@ system_error_type
Definition System.h:21
@ AudioSystem
Definition System.h:29
@ DebugDraw
Definition System.h:34
@ ColliderSystem
Definition System.h:36
@ HandSystem
Definition System.h:31
@ SceneManager
Definition System.h:32
@ Camera
Definition System.h:27
@ Scoring
Definition System.h:30
@ Messaging
Definition System.h:26
@ newSystemStub
Definition System.h:22
auto getParent() const -> GameObject *override
Gets the parent of a GameObject.
Definition System.cpp:44
System(const std::string &typeName, Type systemType)
Definition System.cpp:75
auto showMenu() -> void override
Called before update each frame, for calling ImGui editor code relevant to the gameObject.
Definition System.cpp:19
Type type
Definition System.h:55
auto getKey() const -> Key override
Generates a unique Key that corresponds to the GameObject.
Definition System.cpp:39