public override void DoState(BasicEnemy enemy, List <SteeringEffect> steerings, CharacterController2D controller, List <Effect> effects) { var currentSteering = Vector2.zero; var totalWeight = 0.0f; foreach (SteeringEffect s in steerings) { var curWeight = s.GetWeight(enemy, steerings.Count); if (s == this) { curWeight *= 2; } currentSteering += s.GetSteering(enemy, currentSteering) * curWeight; totalWeight += curWeight; } currentSteering /= totalWeight; enemy.velocity = currentSteering * Time.deltaTime; enemy.ProbablisticState(); if (player == null) { enemy.ChangeToDefaultState(); } controller.move(enemy.velocity); }