public override void Prepare_Event(Event_Controller_CS eventControllerScript) { // Store the reference to "Event_Controller_CS". this.eventControllerScript = eventControllerScript; if (eventControllerScript.Artillery_Script == null || eventControllerScript.Artillery_Target == null) { Debug.LogWarning("The event (" + this.name + ") cannot be executed, because the 'Artillery_Script' and 'Artillery_Target' are not assigned."); Destroy(eventControllerScript); Destroy(this); } }
public override void Prepare_Event(Event_Controller_CS eventControllerScript) { // Store the reference to "Event_Controller_CS". this.eventControllerScript = eventControllerScript; // Check the "Prefab_Object". if (eventControllerScript.Prefab_Object == null) { Debug.LogWarning("The event (" + this.name + ") cannot be executed, because the 'Tank Prefab' is not assigned."); Destroy(eventControllerScript); Destroy(this); } }
public void Overwrite_Values(Event_Controller_CS eventScript) { // Called from "Event_Event_03_Change_AI_Settings_CS". WayPoint_Pack = eventScript.New_WayPoint_Pack; Patrol_Type = eventScript.New_Patrol_Type; Follow_Target = eventScript.New_Follow_Target; No_Attack = eventScript.New_No_Attack; Breakthrough = eventScript.New_Breakthrough; Visibility_Radius = eventScript.New_Visibility_Radius; Approach_Distance = eventScript.New_Approach_Distance; OpenFire_Distance = eventScript.New_OpenFire_Distance; Lost_Count = eventScript.New_Lost_Count; Face_Offest_Angle = eventScript.New_Face_Offest_Angle; Dead_Angle = eventScript.New_Dead_Angle; }
public override void Prepare_Trigger(Event_Controller_CS eventControllerScript) { // Store the reference to "Event_Controller_CS". this.eventControllerScript = eventControllerScript; // Send this reference to all the "Trigger_Collider_CS" in the "Trigger_Collider_Scripts". for (int i = 0; i < eventControllerScript.Trigger_Collider_Scripts.Length; i++) { if (eventControllerScript.Trigger_Collider_Scripts[i]) { eventControllerScript.Trigger_Collider_Scripts[i].Get_Trigger_Script(this); } } }
bool Check_Destroy_AND_All(Event_Controller_CS eventControllerScript) { // Check all the trigger tanks are destroyed. for (int i = 0; i < triggerTanksList.Count; i++) { if (triggerTanksList[i].Root_Transform && triggerTanksList[i].Root_Transform.tag != "Finish") { // At least one of the trigger tanks is alive. return(false); } else if (triggerTanksList[i].Respawn_Script && triggerTanksList[i].Respawn_Script.Respawn_Times > 0) { // The "Respawn_Times" remains. return(false); } } return(true); // All the trigger tanks should have been destroyed or removed. }
public override void Prepare_Event(Event_Controller_CS eventControllerScript) { // Store the reference to "Event_Controller_CS". this.eventControllerScript = eventControllerScript; // Check the "Result_Canvas". if (eventControllerScript.Result_Canvas == null) { Debug.LogWarning("The event (" + this.name + ") cannot be executed, because the 'Result Canvas' is not assigned."); Destroy(eventControllerScript); Destroy(this); return; } // Disable the result canvas. eventControllerScript.Result_Canvas.enabled = false; }
public override void Prepare_Trigger(Event_Controller_CS eventControllerScript) { // Store the reference to "Event_Controller_CS". this.eventControllerScript = eventControllerScript; // Create "triggerTanksList". for (int i = 0; i < eventControllerScript.Trigger_Tanks.Length; i++) { if (eventControllerScript.Trigger_Tanks[i] == null) { continue; } var triggerTankInformation = new Trigger_Tank_Information(); triggerTankInformation.Root_Transform = eventControllerScript.Trigger_Tanks[i]; triggerTanksList.Add(triggerTankInformation); } }
bool Check_Destroy_OR(Event_Controller_CS eventControllerScript) { for (int i = 0; i < triggerTanksList.Count; i++) { if (triggerTanksList[i].Root_Transform == null) { // The tank has already been removed from the scene. return(true); } if (triggerTanksList[i].Root_Transform.tag == "Finish") { // The tank has been destroyed. if (triggerTanksList[i].Respawn_Script && triggerTanksList[i].Respawn_Script.Respawn_Times <= 0) { // The "Respawn_Times" does not remain. return(true); } } } return(false); // There is no destroyed tank in the trigger tanks. }
bool Check_Destroy_AND_Necessary(Event_Controller_CS eventControllerScript) { // Check the necessary number of trigger tanks are destroyed. int destroyedCount = 0; for (int i = 0; i < triggerTanksList.Count; i++) { if (triggerTanksList[i].Root_Transform == null) { // The tank has already been removed from the scene. destroyedCount += 1; continue; } if (triggerTanksList[i].Root_Transform.tag == "Finish") { // The tank has been destroyed. destroyedCount += 1; if (triggerTanksList[i].Respawn_Script && triggerTanksList[i].Respawn_Script.Respawn_Times > 0) { // The "Respawn_Times" remains. destroyedCount -= 1; } } } return(destroyedCount >= eventControllerScript.Necessary_Num); // The necessary number of trigger tanks have been destroyed or removed, or not. }
public virtual void Prepare_Event(Event_Controller_CS eventControllerScript) { // Store the reference to "Event_Controller_CS". this.eventControllerScript = eventControllerScript; }