OROCHI
 
Loading...
Searching...
No Matches
GxUnitPlateau.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12GX_UTILITY_NAMESPACE_BEGIN()
13
14//===========================================================================
16//===========================================================================
18{
19 //-----------------------------------------------------------
21 //-----------------------------------------------------------
23public:
24 class GxUnitCrosswalk;
25
26 // RTTI定義
27 GX_RTTI_CLASS_NAME(GxUnitPlateau, GxUnitLocate, "PLATEAU")
28 // ClassBaseReference継承クラス用禁止宣言
30
32 //-----------------------------------------------------------
34 //-----------------------------------------------------------
36
38 GxUnitPlateau(void);
40 void cleanup(void) override;
41
43 //-----------------------------------------------------------
45 //-----------------------------------------------------------
47public:
49 b32 setup(void) override;
51 void forceAsyncUpdate(void) override;
53 void setResModel(GxResModel* pResModelBldg, GxResCollisionMesh* pResCollisionBldg, GxResModel* pResModelTran, GxResCollisionMesh* pResCollisionTran, GxResModel* pResModelBrid, GxResModel* pResModelVeg, GxResModel* pResModelFrn);
54#if GX_DEVELOP
56 static GxGuiBase* createGui(GxProperty& property, GxTypedObject* pOwner, const GxRtti& rtti, u32 index = 0);
57#endif //GX_DEVELOP
58
60 //-----------------------------------------------------------
62 //-----------------------------------------------------------
65 constexpr GxUnitBackgroundBase* getUnitBldg(void) const { return _pUnitBldg; }
67 constexpr GxUnitBackgroundBase* getUnitTran(void) const { return _pUnitTran; }
68
70 //-----------------------------------------------------------
72 //-----------------------------------------------------------
74private:
75 GxResModel* _pResModelBldg;
76 GxResModelGmlMeta* _pResModelMetaBldg;
77 GxResMaterial* _pResMaterialBldg;
78 GxResCollisionMesh* _pResCollisionBldg;
79 GxUnitBackgroundBase* _pUnitBldg;
80
81 GxResModel* _pResModelTran;
82 GxResModelGmlMeta* _pResModelMetaTran;
83 GxResMaterial* _pResMaterialTran;
84 GxResCollisionMesh* _pResCollisionTran;
85 GxUnitBackgroundBase* _pUnitTran;
86
87 GxResModel* _pResModelBrid;
88 GxResMaterial* _pResMaterialBrid;
89 GxUnitBackgroundBase* _pUnitBrid;
90
91 GxResModel* _pResModelVeg;
92 GxResMaterial* _pResMaterialVeg;
93 GxUnitBackgroundBase* _pUnitVeg;
94
95 GxResModel* _pResModelFrn;
96 GxResMaterial* _pResMaterialFrn;
97 GxUnitBackgroundBase* _pUnitFrn;
98
101
103};
104
105//===========================================================================
107//===========================================================================
109{
110 //-----------------------------------------------------------
112 //-----------------------------------------------------------
114public:
115 // RTTI定義
116 GX_RTTI_CLASS_NAME(GxUnitCrosswalk, GxUnitModelDynamic, "PLATEAU横断歩道")
117 // ClassBaseReference継承クラス用禁止宣言
119private:
120 static const u32 LINE_COUNT_MAX = 20;
121
123 //-----------------------------------------------------------
125 //-----------------------------------------------------------
127public:
129 GxUnitCrosswalk(void);
130
132 //-----------------------------------------------------------
134 //-----------------------------------------------------------
136public:
138 void forceAsyncUpdate(void) override;
139private:
141 GX_FORCE_INLINE void reset(void) { _isReset = true; }
143 b32 resetData(void);
144
146 //-----------------------------------------------------------
148 //-----------------------------------------------------------
150public:
152 GX_FORCE_INLINE void setLineWidth(f32 width) { _lineWidth = width; _isReset = true; }
154 GX_FORCE_INLINE void setLineCount(u32 count) { _lineCount = count; _isReset = true; }
155
157 //-----------------------------------------------------------
159 //-----------------------------------------------------------
161private:
162 f32 _lineWidth;
163 u32 _lineCount;
164 b32 _isReset;
165
167};
168
169GX_UTILITY_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
void GxTypedObject
その他
Definition GxDefine.h:213
プロパティクラス
Definition GxProperty.h:48
メッシュコリジョンリソースクラス
Definition GxResCollisionMesh.h:19
マテリアルリソース
Definition GxResMaterial.h:18
モデルGMLメタデータリソース
Definition GxResModelGmlMeta.h:17
モデルリソースクラス
Definition GxResModel.h:20
実行時型情報クラス
Definition GxRtti.h:154
背景ユニット基底クラス
Definition GxUnitBackgroundBase.h:20
座標ユニット基礎クラス
Definition GxUnitLocate.h:23
動的モデルユニット
Definition GxUnitModelDynamic.h:18
PLATEAU横断歩道ユニット
Definition GxUnitPlateau.h:109
void forceAsyncUpdate(void) override
強制並列更新
Definition GxUnitPlateau.cpp:330
GX_FORCE_INLINE void setLineWidth(f32 width)
ライン幅を設定
Definition GxUnitPlateau.h:152
GxUnitCrosswalk(void)
デフォルトコンストラクタ
Definition GxUnitPlateau.cpp:320
GX_FORCE_INLINE void setLineCount(u32 count)
ライン数を設定
Definition GxUnitPlateau.h:154
PLATEAUユニット
Definition GxUnitPlateau.h:18
constexpr GxUnitBackgroundBase * getUnitBldg(void) const
Definition GxUnitPlateau.h:65
constexpr GxUnitBackgroundBase * getUnitTran(void) const
道路ユニットを取得
Definition GxUnitPlateau.h:67
インデックス指定型フラグ
Definition GxStruct.h:1294
32bitブーリアン
Definition GxDefine.h:173