SpaghettiKart
Loading...
Searching...
No Matches
FallingRock.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
5#include "engine/Actor.h"
6#include "CoreMath.h"
8#include "engine/CoreMath.h"
9
10// Falls from the sky bouncing off of geography until it goes through water.
11// Then after a brief period of time, respawns.
12class AFallingRock : public AActor {
13public:
14
15 explicit AFallingRock(SpawnParams params);
17 _count -= 1;
18 };
19
20 // This is simply a helper function to keep Spawning code clean
21 // @arg respawnTimer default game used 60, 120, 180 as the timer. Time until respawn after reaching the bottom?
22 static AFallingRock* Spawn(FVector pos, int16_t respawnTimer) {
23 SpawnParams params = {
24 .Name = "mk:falling_rock",
25 .Behaviour = respawnTimer,
26 .Location = pos,
27 };
28 return dynamic_cast<AFallingRock*>(AddActorToWorld<AFallingRock>(params));
29 }
30
31 int16_t TimerLength = 80;
32
33 virtual void SetSpawnParams(SpawnParams& params) override;
34 virtual bool IsMod() override;
35 virtual void Tick() override;
36 virtual void Draw(Camera*) override;
37 virtual void DrawEditorProperties() override;
38 void Reset();
39
40 private:
41 uint32_t RespawnTimer = 0;
42 static size_t _count;
43};
static AActor * AddActorToWorld(const SpawnParams &params)
Definition RegisterContent.h:14
AActor()
Definition Actor.cpp:13
virtual void DrawEditorProperties() override
Definition FallingRock.cpp:208
AFallingRock(SpawnParams params)
Definition FallingRock.cpp:23
int16_t TimerLength
Definition FallingRock.h:31
~AFallingRock()
Definition FallingRock.h:16
static AFallingRock * Spawn(FVector pos, int16_t respawnTimer)
Definition FallingRock.h:22
void Reset()
Definition FallingRock.cpp:49
virtual void SetSpawnParams(SpawnParams &params) override
Definition FallingRock.cpp:44
virtual void Tick() override
Updates the falling rock actor. Actor used in Choco Mountain.
Definition FallingRock.cpp:69
virtual bool IsMod() override
Definition FallingRock.cpp:59
static size_t _count
Definition FallingRock.h:42
virtual void Draw(Camera *) override
Renders the falling rock actor. Actor used in Choco Mountain.
Definition FallingRock.cpp:149
uint32_t RespawnTimer
Definition FallingRock.h:41
Definition camera.h:35
Definition CoreMath.h:30
Definition SpawnParams.h:30