예제 #1
0
    private void TranslateElementAdditionnalTris(Vector3 newPos, ElementTri triRef, float animTime)
    {
        bool found = false;

        foreach (ElementTri tri in Tri_1_Additionnal)
        {
            if (triRef == tri)
            {
                tri_1_pos = newPos;
                subElement_1.TranslateToPosition(newPos, animTime);
                found = true;
            }
        }
        foreach (ElementTri tri in Tri_2_Additionnal)
        {
            if (triRef == tri)
            {
                tri_2_pos = newPos;
                subElement_2.TranslateToPosition(newPos, animTime);
                found = true;
            }
        }
        if (!found)
        {
            Debug.LogError("Translate Element Ref wasn't found ! Returned Null !");
        }
    }
예제 #2
0
    private void ChangeElementAdditionnalTris(Element newElement, ElementTri triRef)
    {
        bool found = false;

        foreach (ElementTri tri in Tri_1_Additionnal)
        {
            if (triRef == tri)
            {
                subElement_1 = newElement;
            }
            found = true;
        }
        foreach (ElementTri tri in Tri_2_Additionnal)
        {
            if (triRef == tri)
            {
                subElement_2 = newElement;
            }
            found = true;
        }
        if (!found)
        {
            Debug.LogError("Change Element Ref wasn't found ! Did not Change Anything !");
        }
    }
예제 #3
0
    IEnumerator EndSequence_HeatDeath()
    {
        InAnimation = true;

        ElementTri.ToogleAllTrisActivation(false);
        DialogueManager.Instance.StopTalkCoroutines();
        float messageCooldown = TalkManager.Instance.WriteMessage("Here it is. The Heat Death.");

        yield return(new WaitForSeconds(messageCooldown + 5.5f));

        messageCooldown = TalkManager.Instance.WriteMessage("It's time to go now.");
        yield return(new WaitForSeconds(messageCooldown + 2.5f));

        UICanvas.DOFade(0, 1.5f);
        StartCoroutine(CompletionAnimation());
        MusicManager.Instance.StopAllSounds();
        backgroundRenderer.GetComponent <ChangeColorByLevel>().enabled = false;
        yield return(new WaitForSeconds(3f));

        backgroundRenderer.material.DOColor(new Color(1, 1, 1, 1), 5f);
        OtherBeing ob = GameObject.FindGameObjectWithTag("OtherBeing").GetComponent <OtherBeing>();

        ob.Kill();
        yield return(new WaitForSeconds(5f));

        RestartButton.interactable = true;
        UICanvas_Ending.DOFade(1, 8f);
        yield return(new WaitForSeconds(3f));

        UICanvas_Ending_Button.DOFade(1, 5f);

        InAnimation = false;
    }
예제 #4
0
 public override void ChangeElement(Element newElement, ElementTri triRef)
 {
     if (triRef == Tri_1) subElement_1 = newElement;
     else if (triRef == Tri_2) subElement_2 = newElement;
     else {
         ChangeElementAdditionnalTris(newElement, triRef);
     }
     MixElements();
 }
예제 #5
0
 public override Element GetElement(ElementTri triRef)
 {
     if (triRef == Tri_1)
     {
         return(subElement_1);
     }
     else if (triRef == Tri_2)
     {
         return(subElement_2);
     }
     else
     {
         return(GetElementAdditionnalTris(triRef));
     }
 }
예제 #6
0
 public override void ChangeElement(Element newElement, ElementTri triRef)
 {
     if (triRef == Tri_1)
     {
         subElement_1 = newElement;
     }
     else if (triRef == Tri_2)
     {
         subElement_2 = newElement;
     }
     else
     {
         ChangeElementAdditionnalTris(newElement, triRef);
     }
     MixElements();
 }
예제 #7
0
 private Element GetElementAdditionnalTris(ElementTri triRef)
 {
     foreach (ElementTri tri in Tri_1_Additionnal)
     {
         if (triRef == tri)
         {
             return(subElement_1);
         }
     }
     foreach (ElementTri tri in Tri_2_Additionnal)
     {
         if (triRef == tri)
         {
             return(subElement_2);
         }
     }
     Debug.LogError("Get Element Ref wasn't found ! Returned Null !");
     return(null);
 }
예제 #8
0
 public override void SetupElement(Vector2 newPos, ElementTri triRef)
 {
     if (triRef == Tri_1)
     {
         tri_1_pos = newPos;
         subElement_1.TranslateToPosition(newPos, 0);
     }
     else if (triRef == Tri_2)
     {
         tri_2_pos = newPos;
         subElement_2.TranslateToPosition(newPos, 0);
     }
     else
     {
         TranslateElementAdditionnalTris(newPos, triRef, 0);
     }
     //Now put middle Orb inbetween both
     MixElements(true);
 }
예제 #9
0
 public virtual Element GetElement(ElementTri triRef)
 {
     return(element);
 }
예제 #10
0
 private void TranslateElementAdditionnalTris(Vector3 newPos, ElementTri triRef, float animTime)
 {
     bool found = false;
     foreach (ElementTri tri in Tri_1_Additionnal) {
         if (triRef == tri) {
             tri_1_pos = newPos;
             subElement_1.TranslateToPosition(newPos, animTime);
             found = true;
         }
     }
     foreach (ElementTri tri in Tri_2_Additionnal) {
         if (triRef == tri) {
             tri_2_pos = newPos;
             subElement_2.TranslateToPosition(newPos, animTime);
             found = true;
         }
     }
     if (!found) Debug.LogError("Translate Element Ref wasn't found ! Returned Null !");
 }
예제 #11
0
 private Element GetElementAdditionnalTris(ElementTri triRef)
 {
     foreach (ElementTri tri in Tri_1_Additionnal) {
         if (triRef == tri) return subElement_1;
     }
     foreach (ElementTri tri in Tri_2_Additionnal) {
         if (triRef == tri) return subElement_2;
     }
     Debug.LogError("Get Element Ref wasn't found ! Returned Null !");
     return null;
 }
예제 #12
0
 private void ChangeElementAdditionnalTris(Element newElement, ElementTri triRef)
 {
     bool found = false;
     foreach (ElementTri tri in Tri_1_Additionnal) {
         if (triRef == tri) subElement_1 = newElement;
         found = true;
     }
     foreach (ElementTri tri in Tri_2_Additionnal) {
         if (triRef == tri) subElement_2 = newElement;
         found = true;
     }
     if(!found) Debug.LogError("Change Element Ref wasn't found ! Did not Change Anything !");
 }
예제 #13
0
 public virtual void ChangeElement(Element newElement, ElementTri triRef)
 {
     element = newElement;
 }
예제 #14
0
 public virtual void SetupElement(Vector2 newPos, ElementTri triRef)
 {
     _transform.position = newPos;
     element.TranslateToPosition(_transform.position, 0f);
 }
예제 #15
0
 public override void SetupElement(Vector2 newPos, ElementTri triRef)
 {
     if (triRef == Tri_1) {
         tri_1_pos = newPos;
         subElement_1.TranslateToPosition(newPos,0);
     } else if (triRef == Tri_2) {
         tri_2_pos = newPos;
         subElement_2.TranslateToPosition(newPos,0);
     } else {
         TranslateElementAdditionnalTris(newPos, triRef, 0);
     }
     //Now put middle Orb inbetween both
     MixElements(true);
 }
예제 #16
0
 public override Element GetElement(ElementTri triRef)
 {
     if (triRef == Tri_1) return subElement_1;
     else if (triRef == Tri_2) return subElement_2;
     else return GetElementAdditionnalTris(triRef);
 }
예제 #17
0
 void Start()
 {
     triCollider = GetComponentInParent<ElementTri>();
 }
예제 #18
0
 public override ElementType GetEType(ElementTri triRef)
 {
     MixElements();
     return(element.EType);
 }
예제 #19
0
 public override ElementType GetEType(ElementTri triRef)
 {
     MixElements();
     return element.EType;
 }
예제 #20
0
 public virtual ElementType GetEType(ElementTri triRef)
 {
     return(element.EType);
 }
예제 #21
0
 public virtual void TranslateElement(Vector3 newPos, ElementTri triRef)
 {
     _transform.position = newPos;
     element.TranslateToPosition(_transform.position);
 }
예제 #22
0
 void Start()
 {
     triCollider = GetComponentInParent <ElementTri>();
 }