CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController
Type JSONpublic class in CandideServer.Entities.Controllers.Enemies
Type metadata
- Assembly
CandideServer - Namespace
CandideServer.Entities.Controllers.Enemies - Base type
CandideServer.Entities.Controllers.ServerBehaviorMachineController - Hash
D11C63100109833F1E2794CDE061D29AA3DC7BD04C29A856F04EA9AE7B5576E5
Relationships
Fields
| Name | Visibility | Signature |
|---|---|---|
AttackCooldownTimer# | private | private System.String AttackCooldownTimer |
AttackOnCooldown# | private | private System.String AttackOnCooldown |
CurrentAttackStreak# | private | private System.String CurrentAttackStreak |
CurrentMaxAttackStreak# | private | private System.String CurrentMaxAttackStreak |
CurrentResurfaceCooldown# | private | private System.String CurrentResurfaceCooldown |
HasBeenRemoved# | private | private System.Boolean HasBeenRemoved |
ResurfaceCooldownTimer# | private | private System.String ResurfaceCooldownTimer |
ResurfaceOnCooldown# | private | private System.String ResurfaceOnCooldown |
ShouldBeRemoved# | private | private System.Boolean ShouldBeRemoved |
TargetEntity# | private | private System.String TargetEntity |
_attackChargeDuration# | private | private System.Single _attackChargeDuration |
_attackCooldown# | private | private System.Single _attackCooldown |
_attackMovementLockDuration# | private | private System.Single _attackMovementLockDuration |
_attacksBeforeSubmerge# | private | private System.ValueTuple<System.Int32, System.Int32> _attacksBeforeSubmerge |
_attackSpellTriggerDelay# | private | private System.Single _attackSpellTriggerDelay |
_basaltPitTileSearchInterval# | private | private System.Int32 _basaltPitTileSearchInterval |
_basaltPitTileSearchRadius# | private | private System.Int32 _basaltPitTileSearchRadius |
_bfsQueue# | private | private System.Collections.Generic.Queue<System.ValueTuple<System.ValueTuple<System.Int32, System.Int32>, System.Int32>> _bfsQueue |
_candidateBasaltPitPositions# | private | private System.Collections.Generic.List<System.ValueTuple<System.Int32, System.Int32>> _candidateBasaltPitPositions |
_colliderChangeTimer# | private | private System.Single _colliderChangeTimer |
_colliderGrowDuration# | private | private System.Single _colliderGrowDuration |
_colliderShrinkDelay# | private | private System.Single _colliderShrinkDelay |
_colliderShrinkDuration# | private | private System.Single _colliderShrinkDuration |
_directions# | private | private System.ValueTuple<System.Int32, System.Int32>[] _directions |
_emergedColliderHeight# | private | private System.Single _emergedColliderHeight |
_emergeDuration# | private | private System.Single _emergeDuration |
_maxPerceivedTargetVelocity# | private | private System.Single _maxPerceivedTargetVelocity |
_maxProjectileVelocity# | private | private System.Single _maxProjectileVelocity |
_pitType# | private | private WorldTile.StructureType _pitType |
_repositionMinimumTileDistance# | private | private System.Int32 _repositionMinimumTileDistance |
_repositionTileSearchInterval# | private | private System.Int32 _repositionTileSearchInterval |
_repositionTileSearchRadius# | private | private System.Int32 _repositionTileSearchRadius |
_resurfaceCooldown# | private | private System.ValueTuple<System.Single, System.Single> _resurfaceCooldown |
_submergeDuration# | private | private System.Single _submergeDuration |
_visitedTiles# | private | private System.Collections.Generic.HashSet<System.ValueTuple<System.Int32, System.Int32>> _visitedTiles |
Methods
AreAllTilesWithinCircleBasaltPitAndFreeOfLavaPoolEnemies
#
private System.Boolean AreAllTilesWithinCircleBasaltPitAndFreeOfLavaPoolEnemies(System.Int32 centerX, System.Int32 centerY, System.Int32 basaltPitRadius, System.Int32 enemyRadius)
Method metadata
- Visibilityprivate
- Return type
System.Boolean - StaticFalse
- VirtualFalse
- Hash
CA1A37C611221478FC208EA6F44AFF05798DDBA89909529D81BAD6DE4A66C0C9 - Body hash
FE413B440904DE32505A280827DEF15912A70271BFDDCF8F83034B29D53F792F - IL size177
Referenced calls
System.Array::GetLength(System.Int32)Shared.Models.WorldTile[,]::Address(System.Int32, System.Int32)CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController::IsOtherLavaPoolEnemyOnTile(System.Int32, System.Int32)
AreBasaltPitsConnected
#
private System.Boolean AreBasaltPitsConnected(System.ValueTuple<System.Int32, System.Int32> start, System.ValueTuple<System.Int32, System.Int32> goal, System.Int32 maxSteps)
Method metadata
- Visibilityprivate
- Return type
System.Boolean - StaticFalse
- VirtualFalse
- Hash
A5B96667E585C076242AC94295C90FEACDC3C85BDF413B886C9DFB5F9C89B601 - Body hash
02CB9688EDD42E3921217E12472C8F12E2CD0394FF1A8B8FCC31AB598E147747 - IL size417
Referenced calls
Shared.Models.WorldTile[,]::Address(System.Int32, System.Int32)System.Collections.Generic.Queue<System.ValueTuple<System.ValueTuple<System.Int32, System.Int32>, System.Int32>>::Clear()System.Collections.Generic.HashSet<System.ValueTuple<System.Int32, System.Int32>>::Clear()System.ValueTuple<System.ValueTuple<System.Int32, System.Int32>, System.Int32>::.ctor(!0, !1)System.Collections.Generic.Queue<System.ValueTuple<System.ValueTuple<System.Int32, System.Int32>, System.Int32>>::Enqueue(!0)System.Collections.Generic.HashSet<System.ValueTuple<System.Int32, System.Int32>>::Add(!0)System.Collections.Generic.Queue<System.ValueTuple<System.ValueTuple<System.Int32, System.Int32>, System.Int32>>::Dequeue()System.ValueTuple<System.Int32, System.Int32>::.ctor(!0, !1)System.Array::GetLength(System.Int32)System.Collections.Generic.HashSet<System.ValueTuple<System.Int32, System.Int32>>::Contains(!0)System.Collections.Generic.Queue<System.ValueTuple<System.ValueTuple<System.Int32, System.Int32>, System.Int32>>::get_Count()
CreateStateMachine
#
public BM.StateMachine CreateStateMachine()
Method metadata
- Visibilitypublic
- Return type
BM.StateMachine - StaticFalse
- VirtualTrue
- Hash
A02E513859B5CA25182913842F993FF0F8AA18C9E7C491C461A32AC90204E6DF - Body hash
1E89C5CF7972A482EA844F43212FED48C73A888A87290E077CD43711DFB226AD - IL size2004
Referenced calls
BM.SMBuilder::.ctor()BM.SMBuilder::Branch(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.SMBuilder>::Leaf(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.SMBuilder>::Branch(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.StateBuilder<BM.SMBuilder>>::Leaf(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.StateBuilder<BM.SMBuilder>>::End()BM.StateBuilder<BM.SMBuilder>::End()BM.SMBuilder::Build()BM.BTBuilderPool::Get()BM.ParallelSequence::.ctor(System.Boolean)BM.BTBuilder::Composite(BM.Composite)BM.TryGetThreateningEntity::.ctor(System.String)BM.BTBuilder::Leaf(BM.Leaf)BM.NodeArg<System.Single>::op_Implicit(System.String)BM.CooldownTimer::.ctor(BM.Blackboard, BM.NodeArg<System.Single>, System.String, System.String)BM.NodeArg<System.Single>::op_Implicit(T)BM.BTBuilder::End()BM.BTBuilder::Build()BM.State::set_UpdateBehaviorTree(BM.BehaviorTree)BM.Sequence::.ctor()BM.StringNodeArg::op_Implicit(System.String)BM.PlaySfxOnEntityFromServer::.ctor(BM.StringNodeArg, System.Nullable<System.Single>, System.Nullable<System.Single>)BM.NodeArg<System.Int32>::op_Implicit(T)BM.SetVariable<System.Int32>::.ctor(System.String, BM.NodeArg<T>)BM.RandomRangeInt::.ctor(System.String, BM.NodeArg<System.Int32>, BM.NodeArg<System.Int32>)BM.State::set_EnterBehaviorTree(BM.BehaviorTree)ServerLavaSpitterController.<>c::<CreateStateMachine>b__36_0(BM.BTUpdateContext, BM.Blackboard, System.Object[])System.Func<BM.BTUpdateContext, BM.Blackboard, System.Object[], Node.Status>::.ctor(System.Object, System.IntPtr)System.Array::Empty()BM.Custom::.ctor(System.Func<BM.BTUpdateContext, BM.Blackboard, System.Object[], Node.Status>, System.Object[])BM.PlayAnimation::.ctor(System.Int32, NodeEntityArg)CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController::<CreateStateMachine>b__36_1(BM.BTUpdateContext, BM.Blackboard, System.Object[])
String literals
basepassiveaggroidleEmergedattacktargetEntitycurrentResurfaceCooldownresurfaceCooldownTimerresurfaceOnCooldownattackCooldownTimerattackOnCooldownevent:/creature/lava spitter/lava_spitter_aggrocurrentAttackStreakcurrentMaxAttackStreaktargetEntityDirectiontargetPosition
EntityInitialize
#
public System.Void EntityInitialize()
Method metadata
- Visibilitypublic
- Return type
System.Void - StaticFalse
- VirtualTrue
- Hash
58437997A80E419EC2E1395C58BBDEEBD49C438EE993D4ED2FFECB276CC4A8F3 - Body hash
6F53D7CD5F030DE7AFF4FE9D18AB0E9B24A2C16629FC11044B9FE624DAB3F131 - IL size729
Referenced calls
CandideCreator.Shared.Helpers.Parameters::GetFloat(System.String, System.Single)CandideCreator.Shared.Helpers.Parameters::GetInt(System.String, System.Int32)System.ValueTuple<System.Int32, System.Int32>::.ctor(!0, !1)System.ValueTuple<System.Single, System.Single>::.ctor(!0, !1)Shared.Entity.EntityWrapper::get_Stats()Shared.Models.Stats.EntityStats::GetCalculatedWeaponCooldownTimer(System.Single)Shared.Entity.EntityWrapper::set_NoTerrainCollision(System.Boolean)Shared.Entity.EntityWrapper::set_GravityScale(System.Single)Shared.Entity.EntityWrapper::get_Shape()Shared.Entity.EntityWrapper::get_CollisionHeight()BM.BlackboardManager::get_Instance()BM.BlackboardManager::get_GlobalBlackboard()BM.Blackboard::HasValue(System.String)System.Collections.Generic.Dictionary<Microsoft.Xna.Framework.Point, Shared.Entity.EntityWrapper>::.ctor()BM.Blackboard::SetValue(System.String, T)CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController::MoveLavaSpitterToBasaltPit()CandideServer.Entities.Controllers.ServerBehaviorMachineController::EntityInitialize()
String literals
attack_charge_timeattack_spell_trigger_delayattack_movement_lock_durationattack_cooldownmin_attacks_before_submergemax_attacks_before_submergemax_projectile_velocitymax_perceived_target_velocitymin_resurface_cooldownmax_resurface_cooldownemerge_durationsubmerge_durationcollider_grow_durationcollider_shrink_durationcollider_shrink_delaybasalt_pit_tile_search_radius
IsCandidateBasaltPitPositionSuitable
#
private System.Boolean IsCandidateBasaltPitPositionSuitable(System.Int32 checkX, System.Int32 checkY)
Method metadata
- Visibilityprivate
- Return type
System.Boolean - StaticFalse
- VirtualFalse
- Hash
B9C124EB5B4A449968507DB268180CF7DDB866D2D6D8BC1AC906A11B51AA9322 - Body hash
3537B66094CA5282462CDA03716396ADD50761986DF5C92FC98468EB955A1BCE - IL size75
Referenced calls
System.Array::GetLength(System.Int32)Shared.Models.WorldTile[,]::Get(System.Int32, System.Int32)CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController::AreAllTilesWithinCircleBasaltPitAndFreeOfLavaPoolEnemies(System.Int32, System.Int32, System.Int32, System.Int32)
IsCandidateBasaltPitRepositionSuitable
#
private System.Boolean IsCandidateBasaltPitRepositionSuitable(System.Int32 checkX, System.Int32 checkY)
Method metadata
- Visibilityprivate
- Return type
System.Boolean - StaticFalse
- VirtualFalse
- Hash
ED2880B0A3EA6C4CDD594027ABD584878E6ED6C552FECE4BCB334956AACB2B8E - Body hash
443C212B9EC20726559ECF5600D76F5607B584CC23C051B1AFF1215A50DD6A5A - IL size160
Referenced calls
Shared.Entity.EntityWrapper::get_Position2()Shared.Helpers.WorldTileHelper::WorldToTilePosition(Microsoft.Xna.Framework.Vector2)System.ValueTuple<System.Int32, System.Int32>::.ctor(!0, !1)CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController::AreBasaltPitsConnected(System.ValueTuple<System.Int32, System.Int32>, System.ValueTuple<System.Int32, System.Int32>, System.Int32)Shared.Entity.EntityWrapper::get_AggressiveComponent()BM.Blackboard::GetValue(System.String)Microsoft.Xna.Framework.Vector2::.ctor(System.Single, System.Single)Microsoft.Xna.Framework.Vector2::op_Multiply(Microsoft.Xna.Framework.Vector2, System.Single)CandideCreator.Shared.Helpers.VectorExtension::ToVector2(Microsoft.Xna.Framework.Vector3)Microsoft.Xna.Framework.Vector2::DistanceSquared(Microsoft.Xna.Framework.Vector2, Microsoft.Xna.Framework.Vector2)
String literals
targetPosition
IsOtherLavaPoolEnemyOnTile
#
private System.Boolean IsOtherLavaPoolEnemyOnTile(System.Int32 x, System.Int32 y)
Method metadata
- Visibilityprivate
- Return type
System.Boolean - StaticFalse
- VirtualFalse
- Hash
A63393E2889264E72C2F4859F39206319AD06C582E8A0F70477678735908E6F8 - Body hash
7E122A62EAB46BFE4B99BC637D6CF3A42CBCD90DC2B6F5C1DF9503B3366B1B50 - IL size40
Referenced calls
BM.BlackboardManager::get_Instance()BM.BlackboardManager::get_GlobalBlackboard()BM.Blackboard::GetValue(System.String)Microsoft.Xna.Framework.Point::.ctor(System.Int32, System.Int32)System.Collections.Generic.Dictionary<Microsoft.Xna.Framework.Point, Shared.Entity.EntityWrapper>::ContainsKey(!0)
String literals
existingLavaPoolEnemies
MoveLavaSpitterToBasaltPit
#
private System.Void MoveLavaSpitterToBasaltPit()
Method metadata
- Visibilityprivate
- Return type
System.Void - StaticFalse
- VirtualFalse
- Hash
0DE9CEDF2C41D85BC6B7C01E8EEAD153E3CF807A6C37580C5323D7A46AAF9178 - Body hash
90C3E7A4A3B45E5E8541AC3F89068C30E0436CFF72DB2CA6097D5A56B076975E - IL size270
Referenced calls
Shared.Entity.EntityWrapper::get_Position2()Shared.Helpers.WorldTileHelper::WorldToTilePosition(Microsoft.Xna.Framework.Vector2)CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController::IsCandidateBasaltPitPositionSuitable(System.Int32, System.Int32)CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController::PopulateAndShuffleBasaltPitCandidatePositions(System.Int32, System.Int32, System.Single)System.Collections.Generic.List<System.ValueTuple<System.Int32, System.Int32>>::GetEnumerator()List.Enumerator<System.ValueTuple<System.Int32, System.Int32>>::get_Current()CandideServer.Helpers.ServerWorldTileHelper::TryGetWorldTileHeight(System.Guid, System.Int32, System.Int32, System.SByte&)Microsoft.Xna.Framework.Vector2::.ctor(System.Single, System.Single)Shared.Entity.EntityWrapper::set_Position2(Microsoft.Xna.Framework.Vector2)Shared.Entity.EntityWrapper::get_PositionZ()BM.BlackboardManager::get_Instance()BM.BlackboardManager::get_GlobalBlackboard()BM.Blackboard::GetValue(System.String)Microsoft.Xna.Framework.Point::.ctor(System.Int32, System.Int32)System.Collections.Generic.Dictionary<Microsoft.Xna.Framework.Point, Shared.Entity.EntityWrapper>::Add(!0, !1)List.Enumerator<System.ValueTuple<System.Int32, System.Int32>>::MoveNext()System.IDisposable::Dispose()
String literals
existingLavaPoolEnemies
OnRemove
#
public System.Void OnRemove(Shared.Entity.EntityRemoveInfo entityRemoveInfo)
Method metadata
- Visibilitypublic
- Return type
System.Void - StaticFalse
- VirtualTrue
- Hash
366D1AA579B7C3C3E54FA5B11BD2B1E97707026E814C4282BBCECA95EE5BB16C - Body hash
AE077BC4A8F56F15055222E40794082AAB27ED2E96812C63816C1A5847956E46 - IL size102
Referenced calls
Shared.Entity.EntityWrapper::Delete(Shared.Entity.EntityRemoveInfo)Shared.Entity.EntityWrapper::get_Position2()Shared.Helpers.WorldTileHelper::WorldToTilePosition(Microsoft.Xna.Framework.Vector2)BM.BlackboardManager::get_Instance()BM.BlackboardManager::get_GlobalBlackboard()BM.Blackboard::GetValue(System.String)System.Collections.Generic.Dictionary<Microsoft.Xna.Framework.Point, Shared.Entity.EntityWrapper>::Remove(!0)Shared.Entity.Base.AbstractController::OnRemove(Shared.Entity.EntityRemoveInfo)
String literals
existingLavaPoolEnemies
PopulateAndShuffleBasaltPitCandidatePositions
#
private System.Void PopulateAndShuffleBasaltPitCandidatePositions(System.Int32 searchRadius, System.Int32 tileInterval, System.Single minimumDistance)
Method metadata
- Visibilityprivate
- Return type
System.Void - StaticFalse
- VirtualFalse
- Hash
5D7F65FBA193872FCBD0C8F6EDB05232B9C9139DD2B7C5A52201FCA539203B10 - Body hash
4C91EE58F4FC8B8077986D43E9F99584DA490772E79BA6A2471DF36E8BFAA0CE - IL size209
Referenced calls
System.Collections.Generic.List<System.ValueTuple<System.Int32, System.Int32>>::Clear()Shared.Entity.EntityWrapper::get_Position2()Shared.Helpers.WorldTileHelper::WorldToTilePosition(Microsoft.Xna.Framework.Vector2)System.ValueTuple<System.Int32, System.Int32>::.ctor(!0, !1)System.Collections.Generic.List<System.ValueTuple<System.Int32, System.Int32>>::Add(!0)System.Collections.Generic.List<System.ValueTuple<System.Int32, System.Int32>>::get_Count()System.Random::Next(System.Int32)System.Collections.Generic.List<System.ValueTuple<System.Int32, System.Int32>>::get_Item(System.Int32)System.Collections.Generic.List<System.ValueTuple<System.Int32, System.Int32>>::set_Item(System.Int32, !0)
RepositionLavaSpitterInBasaltPit
#
private System.Void RepositionLavaSpitterInBasaltPit()
Method metadata
- Visibilityprivate
- Return type
System.Void - StaticFalse
- VirtualFalse
- Hash
3B7CCEE895FBBE549341B23175E62D5F506C3D687DE94CB2763DD22039B1050F - Body hash
79BB2701C83F96FF31F740140F474680F2FD24488C491BC78EFDEA006C3C9D38 - IL size375
Referenced calls
CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController::PopulateAndShuffleBasaltPitCandidatePositions(System.Int32, System.Int32, System.Single)System.Collections.Generic.List<System.ValueTuple<System.Int32, System.Int32>>::GetEnumerator()List.Enumerator<System.ValueTuple<System.Int32, System.Int32>>::get_Current()CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController::IsCandidateBasaltPitPositionSuitable(System.Int32, System.Int32)CandideServer.Entities.Controllers.Enemies.ServerLavaSpitterController::IsCandidateBasaltPitRepositionSuitable(System.Int32, System.Int32)List.Enumerator<System.ValueTuple<System.Int32, System.Int32>>::MoveNext()System.IDisposable::Dispose()CandideServer.Helpers.ServerWorldTileHelper::TryGetWorldTileHeight(System.Guid, System.Int32, System.Int32, System.SByte&)Shared.Entity.EntityWrapper::get_Position2()Shared.Helpers.WorldTileHelper::WorldToTilePosition(Microsoft.Xna.Framework.Vector2)BM.BlackboardManager::get_Instance()BM.BlackboardManager::get_GlobalBlackboard()BM.Blackboard::GetValue(System.String)System.Collections.Generic.Dictionary<Microsoft.Xna.Framework.Point, Shared.Entity.EntityWrapper>::ContainsKey(!0)System.Collections.Generic.Dictionary<Microsoft.Xna.Framework.Point, Shared.Entity.EntityWrapper>::Remove(!0)Microsoft.Xna.Framework.Point::.ctor(System.Int32, System.Int32)System.Collections.Generic.Dictionary<Microsoft.Xna.Framework.Point, Shared.Entity.EntityWrapper>::Add(!0, !1)Microsoft.Xna.Framework.Vector2::.ctor(System.Single, System.Single)Shared.Entity.EntityWrapper::set_Position2(Microsoft.Xna.Framework.Vector2)Shared.Entity.EntityWrapper::get_PositionZ()Shared.Entity.EntityWrapper::set_CollisionInRest(System.SByte)
String literals
existingLavaPoolEnemies
Update
#
public System.Void Update(Microsoft.Xna.Framework.GameTime gameTime)
Method metadata
- Visibilitypublic
- Return type
System.Void - StaticFalse
- VirtualTrue
- Hash
E6F449A5802AF03BA8ACFEAC8EC9880C865121C458A9D83C9A4B4F1D2CCAE0F0 - Body hash
7F4FAF3098CDFDBF40E6173855DFDAF83DEA0D9FE7745BB3F85290C60029BF0C - IL size52