Mario Kart 64
Loading...
Searching...
No Matches
SpaghettiShip.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 ASpaghettiShip : public AActor {
15public:
16 explicit ASpaghettiShip(const SpawnParams& params);
17 virtual ~ASpaghettiShip() = default;
18
19 // This is simply a helper function to keep Spawning code clean
20 static inline ASpaghettiShip* Spawn(FVector pos, IRotator rot, FVector scale) {
21 SpawnParams params = {
22 .Name = "hm:spaghetti_ship",
23 .Location = pos,
24 .Rotation = rot,
25 .Scale = scale,
26 };
27 return static_cast<ASpaghettiShip*>(gWorldInstance.AddActor(new ASpaghettiShip(params)));
28 }
29
30 virtual void Tick() override;
31 virtual void Draw(Camera*) override;
32 virtual bool IsMod() override;
33
34 IRotator WheelRot = {0, 0, 0};
35};
World gWorldInstance
Definition Game.cpp:74
AActor()
Definition Actor.cpp:13
static ASpaghettiShip * Spawn(FVector pos, IRotator rot, FVector scale)
Definition SpaghettiShip.h:20
IRotator WheelRot
Definition SpaghettiShip.h:34
virtual void Draw(Camera *) override
Definition SpaghettiShip.cpp:49
ASpaghettiShip(const SpawnParams &params)
Definition SpaghettiShip.cpp:13
virtual void Tick() override
Definition SpaghettiShip.cpp:31
virtual bool IsMod() override
Definition SpaghettiShip.cpp:90
virtual ~ASpaghettiShip()=default
Definition camera.h:35
Definition CoreMath.h:30
Definition CoreMath.h:137
Definition SpawnParams.h:30