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