New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
StateID.h
Go to the documentation of this file.
1#pragma once
2
3#include <basis/seadTypes.h>
4
5class StateID
6{
7public:
8 // Address: 0x1022D390
9 static const StateID cNull;
10 static const s32 cNullNumber = -1;
11
12private:
14 {
15 public:
17 : mNumber(0)
18 {
19 }
20
22 {
23 mNumber++;
24 return mNumber;
25 }
26
27 private:
29 };
30 static_assert(sizeof(NumberMemo) == 4);
31
32public:
34 {
35 // s_number_memo initialization guard variable Address: 0x101E9E9C
36 // s_number_memo Address: 0x101E9F04
37 static NumberMemo s_number_memo;
38 mNumber = s_number_memo.get();
39 }
40
41 explicit StateID(s32 number)
43 {
44 }
45
46 virtual ~StateID()
47 {
48 }
49
50 virtual s32 number() const
51 {
52 return mNumber;
53 }
54
55 bool isNull() const
56 {
57 return mNumber == cNullNumber;
58 }
59
60 bool isEqual(const StateID& rhs) const
61 {
62 return number() == rhs.number();
63 }
64
65 bool operator==(const StateID& rhs) const
66 {
67 return isEqual(rhs);
68 }
69
70 bool operator!=(const StateID& rhs) const
71 {
72 return !isEqual(rhs);
73 }
74
75protected:
77};
78static_assert(sizeof(StateID) == 8);
Definition StateID.h:14
s32 mNumber
Definition StateID.h:28
s32 get()
Definition StateID.h:21
NumberMemo()
Definition StateID.h:16
Definition StateID.h:6
static const s32 cNullNumber
Definition StateID.h:10
bool isEqual(const StateID &rhs) const
Definition StateID.h:60
bool operator!=(const StateID &rhs) const
Definition StateID.h:70
StateID(s32 number)
Definition StateID.h:41
s32 mNumber
Definition StateID.h:76
StateID()
Definition StateID.h:33
bool operator==(const StateID &rhs) const
Definition StateID.h:65
virtual s32 number() const
Definition StateID.h:50
bool isNull() const
Definition StateID.h:55
static const StateID cNull
Definition StateID.h:9
virtual ~StateID()
Definition StateID.h:46