Beispiel #1
0
        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);
            }
        }
Beispiel #3
0
 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;
 }
Beispiel #4
0
        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);
                }
            }
        }
Beispiel #5
0
 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.
 }
Beispiel #6
0
        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;
        }
Beispiel #7
0
        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;
 }