Logo
クラス | 公開型 | 公開メンバ関数 | 静的公開変数類 | プロパティ | 全メンバ一覧
Yukar.Engine.MapCollisionBit クラス

地形とマップオブジェクトの当たり判定をビットにまとめたもの情報(8bit)4個で一塊 [詳解]

クラス

class BitContent
ビットの内容8bit利用できることが前提

公開型

enum MovableStatus { CantMove = 0x0 , CantMoveOverTheMapObjectCheckedStandble = 0x01 , CanMove = 0x02 , Amount }
移動できるかの状態
enum StairStatus {
None = 0x00 , PosZ = 0x01 , NegZ = 0x02 , PosX = 0x03 ,
NegX = 0x04 , RidgePosZPoSX = 0x05 , RidgeNegZNegX = 0x06 , RidgeNegZPosX = 0x07 ,
RidgePosZNegX = 0x08 , ValleyPosZPosX = 0x09 , ValleyNegZNegX = 0x0a , ValleyNegZPosX = 0x0b ,
ValleyPosZNegX = 0x0c , Amount
}
階段の状態
enum WalkableTerrain { CanMove = 0x00 , CantMove = 0x01 , Amount }
歩ける地形の情報 [詳解]

公開メンバ関数

MapCollisionBit ()
コンストラクタ
MapCollisionBit (int collisionsBit)
コンストラクタ [詳解]
void Initialize ()
初期化する [詳解]
bool CanMove (int order)
移動可能か [詳解]
int GetMovableStatus (int order)
移動の状態を取得する [詳解]
void ChangeMovableStatus (int order, MovableStatus movableStatus)
移動の状態を変更する [詳解]
int GetStairStatus (int order)
階段の状態を取得する [詳解]
void ChangeStairStatus (int order, StairStatus stairSatus)
階段情報を変更する [詳解]
bool IsWalkableTerrain (int order)
地面の属性が歩けるものかどうか [詳解]
void ChangeWalkableTerrain (int order, WalkableTerrain wakableTerrain)
地面の属性が歩けるかの状態を変更する [詳解]

静的公開変数類

static readonly int InitialBit = 0x02020202
ビットの初期値
static readonly int BitDegitNumberPerOneCollison = 8
コリジョン一つ辺のビットの桁数
static readonly int CollisionAmount = 32 / BitDegitNumberPerOneCollison
当たり判定の量
static readonly int BitDegitNumberOfMovableStatus = 2
移動情報の桁数
static readonly int BitDegitNumberOfStairStatus = 4
階段の情報の桁数

プロパティ

int CollisionsBit [get]
当たり判定情報のbit

詳解

地形とマップオブジェクトの当たり判定をビットにまとめたもの情報(8bit)4個で一塊

8Bitの内下から 2bitで歩けるかの情報 4bitで階段の情報 1bit 地面が歩行不可の情報 1bit予備

列挙型メンバ詳解

WalkableTerrain

歩ける地形の情報

列挙値
CanMove

歩ける

CantMove

歩けない

構築子と解体子

MapCollisionBit()

Yukar.Engine.MapCollisionBit.MapCollisionBit ( int collisionsBit )

コンストラクタ

引数
collisionsBit 当たり判定情報のbit

メソッド詳解

CanMove()

bool Yukar.Engine.MapCollisionBit.CanMove ( int order )

移動可能か

引数
order 取得する順番 0が先頭 4まで
戻り値
true移動可能 false移動可能ではない

ChangeMovableStatus()

void Yukar.Engine.MapCollisionBit.ChangeMovableStatus ( int order,
MovableStatus movableStatus
)

移動の状態を変更する

引数
order 変更したい位置 0が先頭 4まで
movableStatus

ChangeStairStatus()

void Yukar.Engine.MapCollisionBit.ChangeStairStatus ( int order,
StairStatus stairSatus
)

階段情報を変更する

引数
order 変更する順番 0が先頭 4まで
stairSatus 変更したい階段の状態

ChangeWalkableTerrain()

void Yukar.Engine.MapCollisionBit.ChangeWalkableTerrain ( int order,
WalkableTerrain wakableTerrain
)

地面の属性が歩けるかの状態を変更する

引数
order 変更する順番 0が先頭 4まで
wakableTerrain 地形の歩けるかの属性

GetMovableStatus()

int Yukar.Engine.MapCollisionBit.GetMovableStatus ( int order )

移動の状態を取得する

引数
order 取得する順番 0が先頭 4まで
戻り値
移動の状態

GetStairStatus()

int Yukar.Engine.MapCollisionBit.GetStairStatus ( int order )

階段の状態を取得する

引数
order 取得する順番 0が先頭 4まで
戻り値
階段の状態

Initialize()

void Yukar.Engine.MapCollisionBit.Initialize ( )

初期化する

移動情報はすべて不可

階段情報はすべてなし

IsWalkableTerrain()

bool Yukar.Engine.MapCollisionBit.IsWalkableTerrain ( int order )

地面の属性が歩けるものかどうか

引数
order 取得する順番 0が先頭 4まで
戻り値
true移動可能 false移動可能ではない

このクラス詳解は次のファイルから抽出されました: