43 Sprite(
const std::string& shaderName,
const std::string& textureName =
"",
44 const std::string& meshName =
"1x1_mesh");
50 auto
onUpdate(
float dt) ->
void override;
57 auto save(
Stream& stream)
const ->
void override;
63 [[nodiscard]]
auto shown() const ->
bool;
75 [[nodiscard]] auto
isFaces() const ->
bool;
83 [[nodiscard]] auto
getText() const -> std::
string;
auto to_json(json &j, const AudioObject &a) -> void
Definition AudioObject.cpp:376
auto from_json(const json &j, AudioObject &a) -> void
Definition AudioObject.cpp:387
sys::Json Stream
Definition AudioObject.h:20
The base class for components, holding all of their shared All components should inherit from this.
nlohmann::json json
Definition Json.cpp:19
Component(ComponentTypeEnum type, const char *typeName)
Definition Component.cpp:72
GameObject(std::string typeName, gobj::Type parentType, gobj::Type type)
constructor for gameobject.
Definition GameObject.cpp:23
A component that renders an image on an entity, or text.
Definition Sprite.h:34
std::string text
Definition Sprite.h:122
auto endWindow() -> void override
currently unused, but intended to but was assumed to be necessary for a proper ImGui editor
Definition Sprite.h:52
auto getShader() const -> const Shader *
Definition Sprite.cpp:311
auto color() -> Vector4D &
Definition Sprite.cpp:271
Sprite()
Definition Sprite.cpp:41
Sprite(const Sprite &)=default
unsigned maxLineCharLength
Definition Sprite.h:123
Shader * shader
Definition Sprite.h:119
auto componentShowMenu() -> void override
Definition Sprite.cpp:532
auto onUpdate(float dt) -> void override
called once every frame.
Definition Sprite.cpp:67
Texture * texture
Definition Sprite.h:120
auto getTexture() const -> const Texture *
Definition Sprite.cpp:316
Vector4D multColor
Definition Sprite.h:116
auto isFaces() const -> bool
Definition Sprite.cpp:261
auto drawMeshStandard(const AffineMatrix &transform) -> void
helper function to render mesh normaly
Definition Sprite.cpp:89
auto onRender() -> void override
called every frame after update has been called for every object.
Definition Sprite.cpp:166
auto shown() const -> bool
Definition Sprite.cpp:231
bool renderLines
Definition Sprite.h:107
auto show() -> void
Definition Sprite.cpp:221
auto setMesh(Mesh *newMesh) -> void
Definition Sprite.cpp:291
auto setText(std::string text) -> void
Definition Sprite.cpp:286
auto getText() const -> std::string
Definition Sprite.cpp:281
auto setShader(Shader *newShader) -> void
Definition Sprite.cpp:296
unsigned int frameIndex
Definition Sprite.h:113
auto setTexture(Texture *newTexture) -> void
Definition Sprite.cpp:301
auto isWireframe() const -> bool
Definition Sprite.cpp:246
bool visible
Definition Sprite.h:104
Mesh * mesh
Definition Sprite.h:118
auto load(Stream &stream) -> void override
Implementations will load the state of a GameObject from a th::Json Object.
Definition Sprite.cpp:211
auto getMesh() const -> const Mesh *
Definition Sprite.cpp:306
auto drawMeshText(Transform &transform) const -> void
helper functions to draw the sprite in text mode.
Definition Sprite.cpp:102
auto hide() -> void
Definition Sprite.cpp:226
auto clone() const -> std::unique_ptr< GameObject > override
makes a copy a GameObject even if it's held polymorphically
Definition Sprite.cpp:62
auto save(Stream &stream) const -> void override
Implementations will load the state of a GameObject to a th::Json object.
Definition Sprite.cpp:216
auto showFaces() -> void
Definition Sprite.cpp:251
auto showWireframe() -> void
Definition Sprite.cpp:236
auto hideFaces() -> void
Definition Sprite.cpp:256
auto setFrameIndex(unsigned int index) -> void
Definition Sprite.cpp:266
auto hideWireframe() -> void
Definition Sprite.cpp:241
auto drawDebugLines(AffineMatrix transform) -> void
helper functions to draw bounding boxes for sprites
Definition Sprite.cpp:72
bool renderFaces
Definition Sprite.h:110
~Sprite() override=default
holds and manages textures for use with meshes in sprites
Definition Texture.h:31
Definition AffineMatrix.h:30