My Project v1
Project
载入中...
搜索中...
未找到
Game.ComponentBody
类 Game.ComponentBody 继承关系图:
Game.ComponentBody 的协作图:

struct  CollisionBox
 

Public 成员函数

virtual void ApplyImpulse (Vector3 impulse)
 
virtual void ApplyDirectMove (Vector3 directMove)
 
void ApplyShaking (float strength)
 
virtual bool IsChildOfBody (ComponentBody componentBody)
 
virtual void UnderExplosionStart (Vector3 explosionCenter, float explosionPressure)
 
virtual void UnderExplosion (Vector3 impulse, float damage)
 
override void Load (ValuesDictionary valuesDictionary, IdToEntityMap idToEntityMap)
 
override void Save (ValuesDictionary valuesDictionary, EntityToIdMap entityToIdMap)
 
override void OnEntityRemoved ()
 
virtual void Update (float dt)
 
virtual void UpdateImmersionData ()
 
virtual void MoveToFreeSpace (float dt)
 
bool IsSpaceFreeToMove (float maxMoveFraction, out Vector3? freePosition, out bool needToTeleport)
 
bool MoveToFreeSpaceHelper (float maxMoveFraction)
 
virtual void MoveWithCollision (float dt, Vector3 move)
 
virtual bool HandleSmoothRise (ref Vector3 move, Vector3 position, float dt)
 
virtual void HandleAxisCollision (int axis, float move, ref Vector3 position, bool isSmoothRising)
 
virtual void FindBodiesCollisionBoxes (Vector3 position, DynamicArray< CollisionBox > result)
 
virtual void FindMovingBlocksCollisionBoxes (Vector3 position, DynamicArray< CollisionBox > result)
 
virtual void FindTerrainCollisionBoxes (BoundingBox box, DynamicArray< CollisionBox > result)
 
virtual void FindCrouchCollisionBoxes (Vector3 position, Vector2 overhang, DynamicArray< CollisionBox > result)
 
virtual bool IsColliding (BoundingBox box, DynamicArray< CollisionBox > collisionBoxes)
 
virtual bool IsCollidingWithIce (BoundingBox box, DynamicArray< CollisionBox > collisionBoxes)
 
virtual float CalculatePushBack (BoundingBox box, int axis, DynamicArray< CollisionBox > collisionBoxes, out CollisionBox pushingCollisionBox)
 
virtual float CalculateSmoothRisePushBack (BoundingBox normalBox, BoundingBox smoothRiseBox, int axis, DynamicArray< CollisionBox > collisionBoxes, out CollisionBox pushingCollisionBox)
 
virtual bool MoveToFreeSpace ()
 
virtual void FindSneakCollisionBoxes (Vector3 position, Vector2 overhang, DynamicArray< CollisionBox > result)
 
- Public 成员函数 继承自 Game.ComponentFrame
override void Load (ValuesDictionary valuesDictionary, IdToEntityMap idToEntityMap)
 
override void Save (ValuesDictionary valuesDictionary, EntityToIdMap entityToIdMap)
 
- Public 成员函数 继承自 Game.IUpdateable

静态 Public 成员函数

static float CalculateBoxBoxOverlap (ref BoundingBox b1, ref BoundingBox b2, int axis)
 
static float GetVectorComponent (Vector3 v, int axis)
 
static void InelasticCollision (float v1, float v2, float m1, float m2, float cr, out float result1, out float result2)
 

Public 属性

SubsystemTime m_subsystemTime
 
SubsystemTerrain m_subsystemTerrain
 
SubsystemBodies m_subsystemBodies
 
SubsystemMovingBlocks m_subsystemMovingBlocks
 
SubsystemAudio m_subsystemAudio
 
SubsystemParticles m_subsystemParticles
 
SubsystemBlockBehaviors m_subsystemBlockBehaviors
 
SubsystemFluidBlockBehavior m_subsystemFluidBlockBehavior
 
SubsystemPlayers m_subsystemPlayers
 
Random m_random = new()
 
ComponentHealth m_componentHealth
 
DynamicArray< CollisionBoxm_collisionBoxes = []
 
DynamicArray< ComponentBodym_componentBodies = []
 
DynamicArray< IMovingBlockSetm_movingBlockSets = []
 
DynamicArray< CollisionBoxm_bodiesCollisionBoxes = []
 
DynamicArray< CollisionBoxm_movingBlocksCollisionBoxes = []
 
ComponentBody m_parentBody
 
List< ComponentBodym_childBodies = []
 
Vector3 m_velocity
 
float m_crouchFactor
 
float m_targetCrouchFactor
 
Vector3 m_totalImpulse
 
Vector3 m_directMove
 
bool m_fluidEffectsPlayed
 
float m_stoppedTime
 
float MaxSpeed = 25f
 
bool CanCrouch = false
 
bool TerrainCollidable = true
 
bool BodyCollidable = true
 
bool FluidCollidable = true
 
bool IsRaycastTransparent = false
 
- Public 属性 继承自 Game.ComponentFrame
Vector3 m_position
 
Quaternion m_rotation
 
bool m_cachedMatrixValid
 
Matrix m_cachedMatrix
 

静态 Public 属性

static Vector3[] m_freeSpaceOffsets
 
static bool DrawBodiesBounds
 
const float SleepThresholdSpeed = 1E-05f
 
static bool ResetVelocityOnProjectLoad = true
 

属性

virtual Vector3 StanceBoxSize [get]
 
virtual bool CanBePushedByOtherBodies = true [get, set]
 
virtual Vector3 BoxSize [get, set]
 
virtual float Mass [get, set]
 
virtual float Density [get, set]
 
virtual Vector2 AirDrag [get, set]
 
virtual Vector2 WaterDrag [get, set]
 
virtual float WaterSwayAngle [get, set]
 
virtual float WaterTurnSpeed [get, set]
 
bool CanEmbedInIce [get, private set]
 
virtual float ImmersionDepth [get, set]
 
virtual float ImmersionFactor [get, set]
 
virtual FluidBlock ImmersionFluidBlock [get, set]
 
bool IsEmbeddedInIce [get]
 
virtual ? int StandingOnValue [get, set]
 
virtual ComponentBody StandingOnBody [get, set]
 
virtual Vector3 StandingOnVelocity [get, set]
 
virtual bool IsSneaking [get, set]
 
virtual bool IsCrouching [get, set]
 
virtual Vector3 Velocity [get, set]
 
virtual float TargetCrouchFactor [get, set]
 
virtual float CrouchFactor [get, set]
 
float CrushedTime [get, set]
 
virtual bool IsGravityEnabled [get, set]
 
virtual bool IsGroundDragEnabled [get, set]
 
virtual bool IsWaterDragEnabled [get, set]
 
virtual bool IsSmoothRiseEnabled [get, set]
 
virtual float MaxSmoothRiseHeight [get, set]
 
virtual Vector3 CollisionVelocityChange [get, set]
 
virtual bool CrouchPreventsFalling = true [get, set]
 
virtual bool FixCollisionOnRidingBug = true [get, set]
 
virtual BoundingBox BoundingBox [get]
 
virtual ReadOnlyList< ComponentBodyChildBodies [get]
 
virtual ComponentBody ParentBody [get, set]
 
virtual Vector3 ParentBodyPositionOffset [get, set]
 
virtual Quaternion ParentBodyRotationOffset [get, set]
 
virtual float FloatUpdateOrder [get]
 
virtual Action< ComponentBodyCollidedWithBody [get, set]
 
virtual Action< IMovingBlockSetCollidedWithMovingBlock [get, set]
 
virtual Action< AttackmentAttacked [get, set]
 
- 属性 继承自 Game.ComponentFrame
Vector3 Position [get, set]
 
Quaternion Rotation [get, set]
 
Matrix Matrix [get]
 
virtual Action< ComponentFramePositionChanged [get, set]
 
virtual Action< ComponentFrameRotationChanged [get, set]
 
- 属性 继承自 Game.IUpdateable
UpdateOrder UpdateOrder [get]
 

静态 Private 成员函数

static ComponentBody ()
 

Private 属性

int m_embeddedInIceCounter
 
float m_shakingStrength
 

构造及析构函数说明

◆ ComponentBody()

static Game.ComponentBody.ComponentBody ( )
staticprivate

成员函数说明

◆ ApplyDirectMove()

virtual void Game.ComponentBody.ApplyDirectMove ( Vector3 directMove)
virtual
这是这个函数的调用关系图:

◆ ApplyImpulse()

virtual void Game.ComponentBody.ApplyImpulse ( Vector3 impulse)
virtual
这是这个函数的调用关系图:

◆ ApplyShaking()

void Game.ComponentBody.ApplyShaking ( float strength)
这是这个函数的调用关系图:

◆ CalculateBoxBoxOverlap()

static float Game.ComponentBody.CalculateBoxBoxOverlap ( ref BoundingBox b1,
ref BoundingBox b2,
int axis )
static
这是这个函数的调用关系图:

◆ CalculatePushBack()

virtual float Game.ComponentBody.CalculatePushBack ( BoundingBox box,
int axis,
DynamicArray< CollisionBox > collisionBoxes,
out CollisionBox pushingCollisionBox )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ CalculateSmoothRisePushBack()

virtual float Game.ComponentBody.CalculateSmoothRisePushBack ( BoundingBox normalBox,
BoundingBox smoothRiseBox,
int axis,
DynamicArray< CollisionBox > collisionBoxes,
out CollisionBox pushingCollisionBox )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ FindBodiesCollisionBoxes()

virtual void Game.ComponentBody.FindBodiesCollisionBoxes ( Vector3 position,
DynamicArray< CollisionBox > result )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ FindCrouchCollisionBoxes()

virtual void Game.ComponentBody.FindCrouchCollisionBoxes ( Vector3 position,
Vector2 overhang,
DynamicArray< CollisionBox > result )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ FindMovingBlocksCollisionBoxes()

virtual void Game.ComponentBody.FindMovingBlocksCollisionBoxes ( Vector3 position,
DynamicArray< CollisionBox > result )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ FindSneakCollisionBoxes()

virtual void Game.ComponentBody.FindSneakCollisionBoxes ( Vector3 position,
Vector2 overhang,
DynamicArray< CollisionBox > result )
virtual
函数调用图:

◆ FindTerrainCollisionBoxes()

virtual void Game.ComponentBody.FindTerrainCollisionBoxes ( BoundingBox box,
DynamicArray< CollisionBox > result )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ GetVectorComponent()

static float Game.ComponentBody.GetVectorComponent ( Vector3 v,
int axis )
static
这是这个函数的调用关系图:

◆ HandleAxisCollision()

virtual void Game.ComponentBody.HandleAxisCollision ( int axis,
float move,
ref Vector3 position,
bool isSmoothRising )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ HandleSmoothRise()

virtual bool Game.ComponentBody.HandleSmoothRise ( ref Vector3 move,
Vector3 position,
float dt )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ InelasticCollision()

static void Game.ComponentBody.InelasticCollision ( float v1,
float v2,
float m1,
float m2,
float cr,
out float result1,
out float result2 )
static
这是这个函数的调用关系图:

◆ IsChildOfBody()

virtual bool Game.ComponentBody.IsChildOfBody ( ComponentBody componentBody)
virtual
函数调用图:
这是这个函数的调用关系图:

◆ IsColliding()

virtual bool Game.ComponentBody.IsColliding ( BoundingBox box,
DynamicArray< CollisionBox > collisionBoxes )
virtual
这是这个函数的调用关系图:

◆ IsCollidingWithIce()

virtual bool Game.ComponentBody.IsCollidingWithIce ( BoundingBox box,
DynamicArray< CollisionBox > collisionBoxes )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ IsSpaceFreeToMove()

bool Game.ComponentBody.IsSpaceFreeToMove ( float maxMoveFraction,
out Vector3? freePosition,
out bool needToTeleport )
函数调用图:
这是这个函数的调用关系图:

◆ Load()

override void Game.ComponentBody.Load ( ValuesDictionary valuesDictionary,
IdToEntityMap idToEntityMap )

◆ MoveToFreeSpace() [1/2]

virtual bool Game.ComponentBody.MoveToFreeSpace ( )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ MoveToFreeSpace() [2/2]

virtual void Game.ComponentBody.MoveToFreeSpace ( float dt)
virtual
函数调用图:

◆ MoveToFreeSpaceHelper()

bool Game.ComponentBody.MoveToFreeSpaceHelper ( float maxMoveFraction)
函数调用图:
这是这个函数的调用关系图:

◆ MoveWithCollision()

virtual void Game.ComponentBody.MoveWithCollision ( float dt,
Vector3 move )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ OnEntityRemoved()

override void Game.ComponentBody.OnEntityRemoved ( )

◆ Save()

override void Game.ComponentBody.Save ( ValuesDictionary valuesDictionary,
EntityToIdMap entityToIdMap )
函数调用图:

◆ UnderExplosion()

virtual void Game.ComponentBody.UnderExplosion ( Vector3 impulse,
float damage )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ UnderExplosionStart()

virtual void Game.ComponentBody.UnderExplosionStart ( Vector3 explosionCenter,
float explosionPressure )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ Update()

virtual void Game.ComponentBody.Update ( float dt)
virtual

实现了 Game.IUpdateable.

函数调用图:

◆ UpdateImmersionData()

virtual void Game.ComponentBody.UpdateImmersionData ( )
virtual
函数调用图:
这是这个函数的调用关系图:

类成员变量说明

◆ BodyCollidable

bool Game.ComponentBody.BodyCollidable = true

◆ CanCrouch

bool Game.ComponentBody.CanCrouch = false

◆ DrawBodiesBounds

bool Game.ComponentBody.DrawBodiesBounds
static

◆ FluidCollidable

bool Game.ComponentBody.FluidCollidable = true

◆ IsRaycastTransparent

bool Game.ComponentBody.IsRaycastTransparent = false

◆ m_bodiesCollisionBoxes

DynamicArray<CollisionBox> Game.ComponentBody.m_bodiesCollisionBoxes = []

◆ m_childBodies

List<ComponentBody> Game.ComponentBody.m_childBodies = []

◆ m_collisionBoxes

DynamicArray<CollisionBox> Game.ComponentBody.m_collisionBoxes = []

◆ m_componentBodies

DynamicArray<ComponentBody> Game.ComponentBody.m_componentBodies = []

◆ m_componentHealth

ComponentHealth Game.ComponentBody.m_componentHealth

◆ m_crouchFactor

float Game.ComponentBody.m_crouchFactor

◆ m_directMove

Vector3 Game.ComponentBody.m_directMove

◆ m_embeddedInIceCounter

int Game.ComponentBody.m_embeddedInIceCounter
private

◆ m_fluidEffectsPlayed

bool Game.ComponentBody.m_fluidEffectsPlayed

◆ m_freeSpaceOffsets

Vector3 [] Game.ComponentBody.m_freeSpaceOffsets
static

◆ m_movingBlocksCollisionBoxes

DynamicArray<CollisionBox> Game.ComponentBody.m_movingBlocksCollisionBoxes = []

◆ m_movingBlockSets

DynamicArray<IMovingBlockSet> Game.ComponentBody.m_movingBlockSets = []

◆ m_parentBody

ComponentBody Game.ComponentBody.m_parentBody

◆ m_random

Random Game.ComponentBody.m_random = new()

◆ m_shakingStrength

float Game.ComponentBody.m_shakingStrength
private

◆ m_stoppedTime

float Game.ComponentBody.m_stoppedTime

◆ m_subsystemAudio

SubsystemAudio Game.ComponentBody.m_subsystemAudio

◆ m_subsystemBlockBehaviors

SubsystemBlockBehaviors Game.ComponentBody.m_subsystemBlockBehaviors

◆ m_subsystemBodies

SubsystemBodies Game.ComponentBody.m_subsystemBodies

◆ m_subsystemFluidBlockBehavior

SubsystemFluidBlockBehavior Game.ComponentBody.m_subsystemFluidBlockBehavior

◆ m_subsystemMovingBlocks

SubsystemMovingBlocks Game.ComponentBody.m_subsystemMovingBlocks

◆ m_subsystemParticles

SubsystemParticles Game.ComponentBody.m_subsystemParticles

◆ m_subsystemPlayers

SubsystemPlayers Game.ComponentBody.m_subsystemPlayers

◆ m_subsystemTerrain

SubsystemTerrain Game.ComponentBody.m_subsystemTerrain

◆ m_subsystemTime

SubsystemTime Game.ComponentBody.m_subsystemTime

◆ m_targetCrouchFactor

float Game.ComponentBody.m_targetCrouchFactor

◆ m_totalImpulse

Vector3 Game.ComponentBody.m_totalImpulse

◆ m_velocity

Vector3 Game.ComponentBody.m_velocity

◆ MaxSpeed

float Game.ComponentBody.MaxSpeed = 25f

◆ ResetVelocityOnProjectLoad

bool Game.ComponentBody.ResetVelocityOnProjectLoad = true
static

◆ SleepThresholdSpeed

const float Game.ComponentBody.SleepThresholdSpeed = 1E-05f
static

◆ TerrainCollidable

bool Game.ComponentBody.TerrainCollidable = true

属性说明

◆ AirDrag

virtual Vector2 Game.ComponentBody.AirDrag
getset

◆ Attacked

virtual Action<Attackment> Game.ComponentBody.Attacked
getset

◆ BoundingBox

virtual BoundingBox Game.ComponentBody.BoundingBox
get

◆ BoxSize

virtual Vector3 Game.ComponentBody.BoxSize
getset

◆ CanBePushedByOtherBodies

virtual bool Game.ComponentBody.CanBePushedByOtherBodies = true
getset

◆ CanEmbedInIce

bool Game.ComponentBody.CanEmbedInIce
getprivate set

◆ ChildBodies

virtual ReadOnlyList<ComponentBody> Game.ComponentBody.ChildBodies
get

◆ CollidedWithBody

virtual Action<ComponentBody> Game.ComponentBody.CollidedWithBody
getset

◆ CollidedWithMovingBlock

virtual Action<IMovingBlockSet> Game.ComponentBody.CollidedWithMovingBlock
getset

◆ CollisionVelocityChange

virtual Vector3 Game.ComponentBody.CollisionVelocityChange
getset

◆ CrouchFactor

virtual float Game.ComponentBody.CrouchFactor
getset

◆ CrouchPreventsFalling

virtual bool Game.ComponentBody.CrouchPreventsFalling = true
getset

◆ CrushedTime

float Game.ComponentBody.CrushedTime
getset

◆ Density

virtual float Game.ComponentBody.Density
getset

◆ FixCollisionOnRidingBug

virtual bool Game.ComponentBody.FixCollisionOnRidingBug = true
getset

◆ FloatUpdateOrder

virtual float Game.ComponentBody.FloatUpdateOrder
get

实现了 Game.IUpdateable.

◆ ImmersionDepth

virtual float Game.ComponentBody.ImmersionDepth
getset

◆ ImmersionFactor

virtual float Game.ComponentBody.ImmersionFactor
getset

◆ ImmersionFluidBlock

virtual FluidBlock Game.ComponentBody.ImmersionFluidBlock
getset

◆ IsCrouching

virtual bool Game.ComponentBody.IsCrouching
getset

◆ IsEmbeddedInIce

bool Game.ComponentBody.IsEmbeddedInIce
get

◆ IsGravityEnabled

virtual bool Game.ComponentBody.IsGravityEnabled
getset

◆ IsGroundDragEnabled

virtual bool Game.ComponentBody.IsGroundDragEnabled
getset

◆ IsSmoothRiseEnabled

virtual bool Game.ComponentBody.IsSmoothRiseEnabled
getset

◆ IsSneaking

virtual bool Game.ComponentBody.IsSneaking
getset

◆ IsWaterDragEnabled

virtual bool Game.ComponentBody.IsWaterDragEnabled
getset

◆ Mass

virtual float Game.ComponentBody.Mass
getset

◆ MaxSmoothRiseHeight

virtual float Game.ComponentBody.MaxSmoothRiseHeight
getset

◆ ParentBody

virtual ComponentBody Game.ComponentBody.ParentBody
getset

◆ ParentBodyPositionOffset

virtual Vector3 Game.ComponentBody.ParentBodyPositionOffset
getset

◆ ParentBodyRotationOffset

virtual Quaternion Game.ComponentBody.ParentBodyRotationOffset
getset

◆ StanceBoxSize

virtual Vector3 Game.ComponentBody.StanceBoxSize
get

◆ StandingOnBody

virtual ComponentBody Game.ComponentBody.StandingOnBody
getset

◆ StandingOnValue

virtual ? int Game.ComponentBody.StandingOnValue
getset

◆ StandingOnVelocity

virtual Vector3 Game.ComponentBody.StandingOnVelocity
getset

◆ TargetCrouchFactor

virtual float Game.ComponentBody.TargetCrouchFactor
getset

◆ Velocity

virtual Vector3 Game.ComponentBody.Velocity
getset

◆ WaterDrag

virtual Vector2 Game.ComponentBody.WaterDrag
getset

◆ WaterSwayAngle

virtual float Game.ComponentBody.WaterSwayAngle
getset

◆ WaterTurnSpeed

virtual float Game.ComponentBody.WaterTurnSpeed
getset

该类的文档由以下文件生成: