SpaghettiKart
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"
7#include "engine/Actor.h"
8#include "engine/World.h"
9
10extern "C" {
11#include "common_structs.h"
13}
14
15class AStarship : public AActor {
16public:
17 explicit AStarship(const SpawnParams& params);
18 virtual ~AStarship() = default;
19
20 // This is simply a helper function to keep Spawning code clean
21 static AStarship* Spawn(FVector pos, IRotator rot, FVector scale, f32 speed, f32 radius) {
22 SpawnParams params = {
23 .Name = "hm:starship",
24 .Location = pos,
25 .Rotation = rot,
26 .Scale = scale,
27 .Speed = speed,
28 .SpeedB = radius,
29 };
30 return dynamic_cast<AStarship*>(AddActorToWorld<AStarship>(params));
31 }
32
33 float SpeedB;
34
35 virtual void SetSpawnParams(SpawnParams& params) override;
36 virtual void Tick() override;
37 virtual bool IsMod() override;
38 virtual void BeginPlay() override;
39 virtual void DrawEditorProperties() override;
40};
static AActor * AddActorToWorld(const SpawnParams &params)
Definition RegisterContent.h:14
AActor()
Definition Actor.cpp:13
virtual void Tick() override
Definition Starship.cpp:43
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:65
float SpeedB
Definition Starship.h:33
virtual bool IsMod() override
Definition Starship.cpp:63
static AStarship * Spawn(FVector pos, IRotator rot, FVector scale, f32 speed, f32 radius)
Definition Starship.h:21
virtual ~AStarship()=default
virtual void BeginPlay() override
Definition Starship.cpp:34
Definition CoreMath.h:30
Definition CoreMath.h:141
Definition SpawnParams.h:30