public override void GetVariablesFrom(GameObject recordable) { base.GetVariablesFrom(recordable); AI.SideAI ai = recordable.GetComponent <AI.SideAI>(); LastEnemyPositions = ai.LastPosition; Children.AddRange(ai.Children); }
private void SimulationStep(AI.SideAI ai) { foreach (GameObject child in ai.Children) { child.GetComponent <AI.OperatorAI>().FindTarget(); // Target child.GetComponent <AI.OperatorAI>().Rotate(); // rotation child.GetComponent <AI.OperatorAI>().Shoot(); // shoot if possible child.GetComponent <AI.OperatorAI>().FollowPath(); // movement if (ai.Side == Side.Terrorist) { child.GetComponent <AI.TOperatorAI>().PlantBomb(); // movement child.GetComponent <AI.TOperatorAI>().PickUpBomb(); } if (ai.Side == Side.CounterTerrorist) { child.GetComponent <AI.CTOperatorAI>().Defuse(); } } }