void Check_Destroy_OR() { // Check Tags and remaining Auto ReSpawn Times. for (int i = 0; i < Trigger_Tanks.Length; i++) { if (Trigger_Tanks [i] && Trigger_Tanks [i].tag == "Finish") { Tank_ID_Control_CS Temp_Script = Trigger_Tanks [i].GetComponentInChildren <Tank_ID_Control_CS> (); if (Temp_Script && Temp_Script.ReSpawn_Times == 0) { Flag = false; Start_Event(); break; } } } }
void Check_Destroy_AND() { // Check Tags. if (All_Trigger_Flag) { for (int i = 0; i < Trigger_Tanks.Length; i++) { if (Trigger_Tanks [i] && Trigger_Tanks [i].tag != "Finish") { return; } } } else { int Temp_Num = 0; for (int i = 0; i < Trigger_Tanks.Length; i++) { if (Trigger_Tanks [i] && Trigger_Tanks [i].tag == "Finish") { Temp_Num += 1; } } if (Temp_Num < Necessary_Num) { return; } } // Check the remaining Auto ReSpawn Times. for (int i = 0; i < Trigger_Tanks.Length; i++) { if (Trigger_Tanks [i] && Trigger_Tanks [i].tag == "Finish") { Tank_ID_Control_CS Temp_Script = Trigger_Tanks [i].GetComponentInChildren <Tank_ID_Control_CS> (); if (Temp_Script && Temp_Script.ReSpawn_Times > 0) { return; } } } // All the Auto ReSpawn Times are zero. Flag = false; Start_Event(); }
void Remove_Tank() { for (int i = 0; i < Target_Tanks.Length; i++) { // Delete Event_Controller_CS script. Event_Controller_CS Temp_Event_Script = Target_Tanks [i].GetComponentInChildren <Event_Controller_CS> (); if (Temp_Event_Script) { Destroy(Temp_Event_Script); } // Call "Remove_Tank()" in the Tank_ID_Control_CS script. Tank_ID_Control_CS Temp_Top_Script = Target_Tanks [i].GetComponentInChildren <Tank_ID_Control_CS> (); if (Temp_Top_Script) { Temp_Top_Script.StartCoroutine("Remove_Tank", 0.0f); } } if (Flag == false) { Destroy(this.gameObject); } }
void Change_AI_Settings() { for (int i = 0; i < Target_Tanks.Length; i++) { // for waiting AI tank. Event_Controller_CS Temp_Event_Script = Target_Tanks [i].GetComponentInChildren <Event_Controller_CS> (); if (Temp_Event_Script) { Temp_Event_Script.WayPoint_Pack = New_WayPoint_Pack; Temp_Event_Script.Patrol_Type = New_Patrol_Type; Temp_Event_Script.Follow_Target = New_Follow_Target; Temp_Event_Script.No_Attack = New_No_Attack; } // for living AI tank. AI_CS Temp_AI_Script = Target_Tanks [i].GetComponentInChildren <AI_CS> (); if (Temp_AI_Script) { Temp_AI_Script.Change_AI_Settings(this); } // for Respawn. Tank_ID_Control_CS Temp_Top_Script = Target_Tanks [i].GetComponentInChildren <Tank_ID_Control_CS> (); if (Temp_Top_Script) { Temp_Top_Script.WayPoint_Pack = New_WayPoint_Pack; Temp_Top_Script.Patrol_Type = New_Patrol_Type; Temp_Top_Script.Follow_Target = New_Follow_Target; Temp_Top_Script.No_Attack = New_No_Attack; if (Renew_ReSpawn_Times_Flag) { Temp_Top_Script.ReSpawn_Times = New_ReSpawn_Times; } } } if (Flag == false) { Destroy(this.gameObject); } }
void Variables_Settings() { Event_Controller_CS Event_Script = GetComponentInParent <Event_Controller_CS> (); if (Event_Script && Event_Script.OverWrite_Flag) // Use settings in Event_Controller. { WayPoint_Pack = Event_Script.WayPoint_Pack; Patrol_Type = Event_Script.Patrol_Type; Follow_Target = Event_Script.Follow_Target; No_Attack = Event_Script.No_Attack; Visibility_Radius = Event_Script.Visibility_Radius; Approach_Distance = Event_Script.Approach_Distance; OpenFire_Distance = Event_Script.OpenFire_Distance; Lost_Count = Event_Script.Lost_Count; Face_Enemy = Event_Script.Face_Enemy; Face_Offest_Angle = Event_Script.Face_Offest_Angle; AI_State_Text = Event_Script.AI_State_Text; Tank_Name = Event_Script.Tank_Name; Default_Text_Color = Event_Script.Default_Text_Color; } else // Use settings in Tank_ID_Control. { Tank_ID_Control_CS Top_Script = GetComponentInParent <Tank_ID_Control_CS> (); WayPoint_Pack = Top_Script.WayPoint_Pack; Patrol_Type = Top_Script.Patrol_Type; Follow_Target = Top_Script.Follow_Target; No_Attack = Top_Script.No_Attack; Visibility_Radius = Top_Script.Visibility_Radius; Approach_Distance = Top_Script.Approach_Distance; OpenFire_Distance = Top_Script.OpenFire_Distance; Lost_Count = Top_Script.Lost_Count; Face_Enemy = Top_Script.Face_Enemy; Face_Offest_Angle = Top_Script.Face_Offest_Angle; AI_State_Text = Top_Script.AI_State_Text; Tank_Name = Top_Script.Tank_Name; Default_Text_Color = Top_Script.Default_Text_Color; } }
void Start() { Tank_ID_Control_CS Top_Script = GetComponentInParent <Tank_ID_Control_CS>(); Attack_Multiplier = Top_Script.Attack_Multiplier; }