Mario Kart 64
Loading...
Searching...
No Matches
FallingRock.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
4#include "engine/Actor.h"
5#include "CoreMath.h"
7#include "engine/CoreMath.h"
8#include "engine/World.h"
9
10class World;
12
13extern "C" {
14#include "common_structs.h"
15}
16
17// Falls from the sky bouncing off of geography until it goes through water.
18// Then after a brief period of time, respawns.
19class AFallingRock : public AActor {
20public:
21
22 explicit AFallingRock(SpawnParams params);
24 _count -= 1;
25 };
26
27 // This is simply a helper function to keep Spawning code clean
28 // @arg respawnTimer default game used 60, 120, 180 as the timer. Time until respawn after reaching the bottom?
29 static inline AFallingRock* Spawn(FVector pos, int16_t respawnTimer) {
30 SpawnParams params = {
31 .Name = "mk:falling_rock",
32 .Behaviour = respawnTimer,
33 .Location = pos,
34 };
35 return static_cast<AFallingRock*>(gWorldInstance.AddActor(new AFallingRock(params)));
36 }
37
38 int16_t TimerLength = 80;
39
40 virtual void SetSpawnParams(SpawnParams& params) override;
41 virtual bool IsMod() override;
42 virtual void Tick() override;
43 virtual void Draw(Camera*) override;
44 virtual void DrawEditorProperties() override;
45 void Reset();
46
47 private:
48 uint32_t RespawnTimer = 0;
49 static size_t _count;
50};
World gWorldInstance
Definition Game.cpp:74
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:38
~AFallingRock()
Definition FallingRock.h:23
static AFallingRock * Spawn(FVector pos, int16_t respawnTimer)
Definition FallingRock.h:29
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:49
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:48
Definition World.h:39
Definition camera.h:35
Definition CoreMath.h:30
Definition SpawnParams.h:30