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(); }
public void MarkCrystalsOwedForOverload(int numCrystals) { if (numCrystals > 0) { this.m_overloadLocksAreShowing = true; } int num = 0; for (int i = 0; numCrystals != num; i++) { if (i == this.m_permanentCrystals.Count) { this.m_additionalOverloadedCrystalsOwedNextTurn += numCrystals - num; break; } ManaCrystal crystal = this.m_permanentCrystals[i]; if (!crystal.IsOwedForOverload()) { crystal.MarkAsOwedForOverload(); num++; } } }