29 public virtual void Update(
float dt) {
60 if (destination.HasValue) {
61 float speed = m_componentCreature.ComponentHealth.Air < 0.25f ? 1f :
m_random.Float(0.4f, 0.6f);
87 Vector3 value = m_componentCreature.ComponentBody.Matrix.Translation + 10f * forward +
new Vector3(0f, 2f, 0f);
101 "Audio/Creatures/WhaleBlow",
110 m_particleSystem.Position = m_componentCreature.ComponentBody.Position
117 m_particleSystem.IsStopped =
true;
124 Vector3 vector = 0.5f * (m_componentCreature.ComponentBody.BoundingBox.Min +
m_componentCreature.ComponentBody.BoundingBox.Max);
127 for (
int i = 0; i < 16; i++) {
138 if (terrainRaycastResult.HasValue
141 terrainRaycastResult.
Value.CellFace.X + 0.5f,
142 terrainRaycastResult.
Value.CellFace.Y,
143 terrainRaycastResult.
Value.CellFace.Z + 0.5f
static float Saturate(float x)
static float Lerp(float x1, float x2, float f)
WhalePlumeParticleSystem m_particleSystem
virtual void Update(float dt)
override float ImportanceLevel
SubsystemTerrain m_subsystemTerrain
ComponentCreature m_componentCreature
ComponentPathfinding m_componentPathfinding
SubsystemParticles m_subsystemParticles
SubsystemAudio m_subsystemAudio
override void Load(ValuesDictionary valuesDictionary, IdToEntityMap idToEntityMap)
StateMachine m_stateMachine
virtual ? Vector3 FindSurfaceDestination()
static int ExtractContents(int value)
ValuesDictionary ValuesDictionary
static Vector3 Normalize(Vector3 v)