Exemplo n.º 1
0
 // Update is called once per frame
 void Update()
 {
     if (AdvancePhaseCheck())
     {
         //foreach(GameObject trigger in phases[phaseIndex].activateConditions)
         //{
         //    TriggeringObject script = trigger.GetComponent<TriggeringObject>();
         //    script.Deactivate();
         //}
         ++phaseIndex;
         backwallRenderer.material.mainTexture = phases[phaseIndex].background;
         foreach (GameObject trigger in phases[phaseIndex].activateConditions)
         {
             TriggeringObject script = trigger.GetComponent <TriggeringObject>();
             if (script == null)
             {
                 Debug.LogWarning("Using phase manager with GameObject without TriggeringObject");
             }
             else
             {
                 script.Activate();
             }
         }
     }
 }
Exemplo n.º 2
0
    bool AdvancePhaseCheck()
    {
        if (phaseIndex >= phases.Length)
        {
            return(false);
        }
        Phase currentPhase = phases[phaseIndex];

        if (currentPhase.final || currentPhase.activateConditions.Length == 0)
        {
            return(false);
        }
        foreach (GameObject trigger in currentPhase.activateConditions)
        {
            TriggeringObject script = trigger.GetComponent <TriggeringObject>();
            if (script == null)
            {
                Debug.LogWarning("Using phase manager with GameObject without TriggeringObject");
                return(false);
            }
            if (!script.IsTriggered())
            {
                return(false);
            }
        }


        Debug.Log("Advanced Phase");
        return(true);
    }
Exemplo n.º 3
0
 // Start is called before the first frame update
 void Start()
 {
     phaseIndex       = 0;
     backwall         = GameObject.FindGameObjectWithTag("TestWall");
     backwallRenderer = backwall.GetComponent <Renderer>();
     backwallRenderer.material.mainTexture = phases[0].background;
     foreach (GameObject trigger in phases[0].activateConditions)
     {
         TriggeringObject script = trigger.GetComponent <TriggeringObject>();
         if (script == null)
         {
             Debug.LogWarning("Using phase manager with GameObject without TriggeringObject");
         }
         else
         {
             script.Activate();
         }
     }
 }