Mario Kart 64
Loading...
Searching...
No Matches
Cloud.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"
6#include "engine/World.h"
7
8extern "C" {
9#include "macros.h"
10#include "main.h"
11#include "camera.h"
12#include "common_structs.h"
13}
14
15class ACloud : public AActor {
16public:
17 ACloud(const SpawnParams& params);
18
19 virtual ~ACloud() override = default;
20
21 // This is simply a helper function to keep Spawning code clean
22 static inline ACloud* Spawn(FVector pos, uint16_t time, f32 hop, f32 gravity) {
23 SpawnParams params = {
24 .Name = "hm:cloud",
25 .Type = time, // How long the effect is active
26 .Location = pos,
27 .Speed = hop, // How high you hop
28 .SpeedB = gravity, // How much gravity is effected
29 };
30 return static_cast<ACloud*>(gWorldInstance.AddActor(new ACloud(params)));
31 }
32
33 virtual void Tick() override;
34 virtual void Draw(Camera*) override;
35 virtual void BeginPlay() override;
36 virtual void SetSpawnParams(SpawnParams& params) override;
37 virtual void DrawEditorProperties() override;
38 virtual void Collision(Player* player, AActor* actor) override;
39 virtual bool IsMod() override;
40
41 bool PickedUp = false;
42 uint32_t TimerLength = 500;
43 uint32_t Timer = 0;
44
46
47 f32 Hop = 3.0f;
48 f32 Gravity = 200.0f;
49 f32 OldHop = 0;
50 f32 OldGravity = 0;
51
52};
World gWorldInstance
Definition Game.cpp:74
Definition Actor.h:14
AActor()
Definition Actor.cpp:13
f32 OldGravity
Definition Cloud.h:50
f32 Gravity
Definition Cloud.h:48
ACloud(const SpawnParams &params)
Definition Cloud.cpp:19
virtual void Collision(Player *player, AActor *actor) override
Definition Cloud.cpp:88
virtual void BeginPlay() override
Definition Cloud.cpp:49
f32 OldHop
Definition Cloud.h:49
f32 Hop
Definition Cloud.h:47
virtual void Draw(Camera *) override
Definition Cloud.cpp:74
uint32_t TimerLength
Definition Cloud.h:42
virtual ~ACloud() override=default
bool PickedUp
Definition Cloud.h:41
static ACloud * Spawn(FVector pos, uint16_t time, f32 hop, f32 gravity)
Definition Cloud.h:22
virtual void SetSpawnParams(SpawnParams &params) override
Definition Cloud.cpp:40
uint32_t Timer
Definition Cloud.h:43
virtual bool IsMod() override
Definition Cloud.cpp:105
Player * _player
Definition Cloud.h:45
virtual void DrawEditorProperties() override
Definition Cloud.cpp:168
virtual void Tick() override
Definition Cloud.cpp:56
#define NULL
Definition miniaudio.h:3851
Definition camera.h:35
Definition CoreMath.h:30
Definition common_structs.h:264
Definition SpawnParams.h:30