public void Prepare(Shield shield, Mage mage, PanelShield panelShield) { PanelShield = panelShield; Sustain = true; Shield = shield; mage.ActualMana -= shield.SetupCost; Mage = mage; name = "Shield"; AddShieldElement(); }
void Update() { if (Sustain) { Mage.ActualMana -= Shield.SustainCost * Time.deltaTime; AddShieldElement(); } else if (transform.childCount == 0) { PanelShield = null; Destroy(gameObject); } }
public void ShowShield(bool show = true) { if (show) { if (!_shield) { _shield = GameRoomManager.Instance.FightManager.Shield.Spawn(_inner, Vector3.zero); _shield.Init(this); } } else { if (_shield) { _shield.Recycle(); _shield = null; } } }
internal void Prepare(Player caster, CastListener castListener) { Player = caster; ImageAvatar.GetComponent <SphereCollider>().radius = ImageAvatar.GetComponent <RectTransform>().GetSize().x / 2; ButtonSpellLeft.GetComponent <ButtonSpell>().Prepare(caster.Mage, caster.Mage.LeftHand, castListener); ButtonSpellRight.GetComponent <ButtonSpell>().Prepare(caster.Mage, caster.Mage.RightHand, castListener); if (PanelShield != null) { PanelShield sc = PanelShield.GetComponent <PanelShield>(); sc.Prepare(_Player.Mage.Shield, _Player.Mage); } if (ButtonLeftBonus != null) { ButtonLeftBonus.GetComponent <PanelVial>().Prepare(_Player.Mage, _Player.Mage.LeftVials); } if (ButtonRightBonus != null) { ButtonRightBonus.GetComponent <PanelVial>().Prepare(_Player.Mage, _Player.Mage.RightVials); } }
void OnDestroy() { _allActors.Remove(ActorId); HexUnit = null; if (_sliderHarvest != null) { _sliderHarvest.Recycle(); _sliderHarvest = null; } if (_sliderBlood != null) { _sliderBlood.Recycle(); _sliderBlood = null; } if (_shield != null) { _shield.Recycle(); _shield = null; } }