private void UnHandleEffect(TowerOrShrine shrine) { var unit = shrine.Unit; ParticleEffect effect; if (_effects.TryGetValue(shrine, out effect)) { effect.Dispose(); } _effects.Remove(shrine); }
private void HandleEffect(TowerOrShrine shrine) { var unit = shrine.Unit; ParticleEffect effect; if (!_effects.TryGetValue(shrine, out effect)) { effect = unit.AddParticleEffect("materials/ensage_ui/particles/range_display_mod.vpcf"); effect.SetControlPoint(1, new Vector3(500, 255, 0)); effect.SetControlPoint(2, new Vector3(0, 155, 255)); _effects.Add(shrine, effect); } }
private Ability GetFiller(TowerOrShrine shrine) { Ability s; var v = shrine.Unit; var handle = v.Handle; if (_abilityDictinart.TryGetValue(handle, out s)) { return(s); } s = v.Spellbook.Spells.FirstOrDefault(x => x.Id == AbilityId.filler_ability); _abilityDictinart.Add(handle, s); return(s); }
private bool CheckForAbility(TowerOrShrine shrine) { Ability s; var v = shrine.Unit; var handle = v.Handle; if (_abilityDictinart.TryGetValue(handle, out s)) { return(s?.AbilityState == AbilityState.Ready || s?.Cooldown >= 295); } s = v.Spellbook.Spells.FirstOrDefault(x => x.Id == AbilityId.filler_ability); if (s != null) { _abilityDictinart.Add(handle, s); } return(s != null && (s.AbilityState == AbilityState.Ready || s.Cooldown >= 295)); }