コード例 #1
0
 public void OnCurrentPlayerChanged()
 {
     this.m_additionalOverloadedCrystalsOwedThisTurn = this.m_additionalOverloadedCrystalsOwedNextTurn;
     this.m_additionalOverloadedCrystalsOwedNextTurn = 0;
     if (this.m_additionalOverloadedCrystalsOwedThisTurn > 0)
     {
         this.m_overloadLocksAreShowing = true;
     }
     else
     {
         this.m_overloadLocksAreShowing = false;
     }
     for (int i = 0; i < this.m_permanentCrystals.Count; i++)
     {
         ManaCrystal crystal = this.m_permanentCrystals[i];
         if (crystal.IsOverloaded())
         {
             crystal.UnlockOverload();
         }
         if (crystal.IsOwedForOverload())
         {
             this.m_overloadLocksAreShowing = true;
             crystal.PayOverload();
         }
         else if (this.m_additionalOverloadedCrystalsOwedThisTurn > 0)
         {
             crystal.PayOverload();
             this.m_additionalOverloadedCrystalsOwedThisTurn--;
         }
     }
 }
コード例 #2
0
    private void LoadCrystalCallback(string actorName, GameObject actorObject, object callbackData)
    {
        this.m_numCrystalsLoading--;
        if (this.m_manaCrystalWidth <= 0f)
        {
            if (UniversalInputManager.UsePhoneUI != null)
            {
                this.m_manaCrystalWidth = 0.33f;
            }
            else
            {
                this.m_manaCrystalWidth = actorObject.transform.FindChild("Gem_Mana").GetComponent <Renderer>().bounds.size.x;
            }
        }
        LoadCrystalCallbackData data      = callbackData as LoadCrystalCallbackData;
        ManaCrystal             component = actorObject.GetComponent <ManaCrystal>();

        if (data.IsTempCrystal)
        {
            component.MarkAsTemp();
            this.m_temporaryCrystals.Add(component);
        }
        else
        {
            this.m_permanentCrystals.Add(component);
            if (data.IsTurnStart)
            {
                if (this.m_additionalOverloadedCrystalsOwedThisTurn > 0)
                {
                    component.PayOverload();
                    this.m_additionalOverloadedCrystalsOwedThisTurn--;
                }
            }
            else if (this.m_additionalOverloadedCrystalsOwedNextTurn > 0)
            {
                component.state = ManaCrystal.State.USED;
                component.MarkAsOwedForOverload();
                this.m_additionalOverloadedCrystalsOwedNextTurn--;
            }
            base.StartCoroutine(this.UpdatePermanentCrystalStates());
        }
        if (UniversalInputManager.UsePhoneUI != null)
        {
            component.transform.parent        = this.manaGemBone.transform.parent;
            component.transform.localRotation = this.manaGemBone.transform.localRotation;
            component.transform.localScale    = this.manaGemBone.transform.localScale;
        }
        else
        {
            component.transform.parent = base.transform;
        }
        component.transform.localPosition = Vector3.zero;
        component.PlayCreateAnimation();
        SoundManager.Get().LoadAndPlay("mana_crystal_add", base.gameObject);
        this.UpdateLayout();
    }