New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
LineMgr.h
Go to the documentation of this file.
1#pragma once
2
3#include <state/FStateMgr.h>
4#include <utility/Angle.h>
5#include <utility/Direction.h>
6
7#include <container/seadSafeArray.h>
8#include <math/seadVector.h>
9
11{
12public:
13 enum Type
14 {
15 cType_ReverseAtEnd = 0, // i.e., Two-way
16 cType_StopAtEnd // i.e., One-way
17 };
18
19public:
20 // Address: 0x0200DC14
22
23 // Address: 0x0200DF60
24 void init(const sead::Vector2f& pos, u8 layer, f32 base_speed = 0.0f, Type type = cType_ReverseAtEnd, u8 dir_x = cDirType_Right);
25
26 // Address: 0x0200E0C0
27 void setBaseSpeed(f32 speed);
28
29 // Address: 0x0200E178
30 void startLineMove(bool exec_fall_down = false);
31
32 void execute()
33 {
34 mStateMgr.executeState();
35 }
36
37 const sead::Vector2f& getPos() const
38 {
39 return mPos;
40 }
41
42protected:
52 u8 mType; // See Type
55 bool _8f; // Set, but never read
56};
57static_assert(sizeof(LineMgr) == 0x90);
Definition LineMgr.h:11
f32 mBaseSpeed
Definition LineMgr.h:51
sead::Vector2f mSpeed
Definition LineMgr.h:45
u8 mType
Definition LineMgr.h:52
FStateMgr< LineMgr > mStateMgr
Definition LineMgr.h:43
Type
Definition LineMgr.h:14
@ cType_ReverseAtEnd
Definition LineMgr.h:15
@ cType_StopAtEnd
Definition LineMgr.h:16
u8 mLayer
Definition LineMgr.h:53
sead::Vector2f mPos
Definition LineMgr.h:46
sead::Vector2f mPosBlock
Definition LineMgr.h:48
void setBaseSpeed(f32 speed)
sead::Vector2f _7c
Definition LineMgr.h:49
void startLineMove(bool exec_fall_down=false)
u8 mDir
Definition LineMgr.h:54
void init(const sead::Vector2f &pos, u8 layer, f32 base_speed=0.0f, Type type=cType_ReverseAtEnd, u8 dir_x=cDirType_Right)
void execute()
Definition LineMgr.h:32
const sead::Vector2f & getPos() const
Definition LineMgr.h:37
bool _8f
Definition LineMgr.h:55
sead::UnsafeArray< sead::Vector2f, 7 > _24
Definition LineMgr.h:44
sead::Vector2f mPosPrev
Definition LineMgr.h:47
Angle mAngle
Definition LineMgr.h:50