Mario Kart 64
Loading...
Searching...
No Matches
Starship.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
4#include <libultra/gbi.h>
5#include "CoreMath.h"
6#include "engine/Actor.h"
7#include "engine/World.h"
8
9extern "C" {
10#include "common_structs.h"
12}
13
14class AStarship : public AActor {
15public:
16 explicit AStarship(const SpawnParams& params);
17 virtual ~AStarship() = default;
18
19 // This is simply a helper function to keep Spawning code clean
20 static inline AStarship* Spawn(FVector pos, IRotator rot, FVector scale, f32 speed, f32 radius) {
21 SpawnParams params = {
22 .Name = "hm:starship",
23 .Location = pos,
24 .Rotation = rot,
25 .Scale = scale,
26 .Speed = speed,
27 .SpeedB = radius,
28 };
29 return static_cast<AStarship*>(gWorldInstance.AddActor(new AStarship(params)));
30 }
31
32 float SpeedB;
33
34 virtual void SetSpawnParams(SpawnParams& params) override;
35 virtual void Tick() override;
36 virtual bool IsMod() override;
37 virtual void BeginPlay() override;
38 virtual void DrawEditorProperties() override;
39};
World gWorldInstance
Definition Game.cpp:74
AActor()
Definition Actor.cpp:13
virtual void Tick() override
Definition Starship.cpp:41
AStarship(const SpawnParams &params)
Definition Starship.cpp:14
virtual void SetSpawnParams(SpawnParams &params) override
Definition Starship.cpp:29
virtual void DrawEditorProperties() override
Definition Starship.cpp:63
float SpeedB
Definition Starship.h:32
virtual bool IsMod() override
Definition Starship.cpp:61
static AStarship * Spawn(FVector pos, IRotator rot, FVector scale, f32 speed, f32 radius)
Definition Starship.h:20
virtual ~AStarship()=default
virtual void BeginPlay() override
Definition Starship.cpp:34
Definition CoreMath.h:30
Definition CoreMath.h:137
Definition SpawnParams.h:30