public MEffect BuildEffect(MEffectData data, EEffect type) { var effect = EffectFactory.Instance.CreateNewObject(type); effect.SetData(data); return(effect); }
public Effect(EEffect type, int value, int startingDuration = 0) { this.type = type; this.value = value; this.originalDuration = startingDuration; this.duration = originalDuration; }
public MEffect CreateNewObject(EEffect effect) { switch (effect) { case (EEffect.Barrier): { return(new EffectBarrier()); } case (EEffect.DoTBurn): { return(new EffectDoTBurn()); } case (EEffect.Megabite): { return(new EffectMegabite()); } case (EEffect.Horror): { return(new Horror()); } case (EEffect.HoT): { return(new EffectHoT()); } case (EEffect.Push): { return(new EffectPush()); } case (EEffect.Slime): { return(new EffectSlime()); } case (EEffect.Slime_Zone): { return(new EffectZoneSlime()); } case (EEffect.Spear_Wall_Zone): { return(new EffectZoneSpearWall()); } case (EEffect.Stun): { return(new EffectStun()); } case (EEffect.Summon_On_Hit): { return(new EffectSummonOnHit()); } case (EEffect.Suppression_Zone): { return(new EffectSuppressionZone()); } default: { return(null); } } }
//TODO EXPAND ON THIS FOR CHARACTER FUNCTIONALITY // Update is called once per frame public void TBC_InitialiseCharacter() { animator = GetComponent <Animator>(); animator.runtimeAnimatorController = character.animatorController; currentEffect = 0; this.gameObject.name = character.title; //Stats characterType = character.characterType; hitPoints = character.hitPoints; strength = character.strength; attack = character.attack; agility = character.agility; actionPoints = character.actionPoints; specials = character.specials; foreach (EElement element in character.elementResistance) { elementalResistance.Add(element); } foreach (EElement element in character.elementWeakness) { elementalWeakness.Add(element); } }
public void ApplyEffect(EEffect pEffect) { switch (pEffect) { case EEffect.none: break; case EEffect.Invisibility: break; case EEffect.Strength: _health += 2; break; case EEffect.Agility: break; case EEffect.Awesomeness: _awesomeness -= 2; break; case EEffect.Confusion: _motivation -= 2; break; } }
public MEffect BuildEffect(XElement el, EEffect type) { var data = new MEffectData(); foreach (var ele in el.Elements()) { this.HandleIndex(data, ele.Name.ToString(), ele.Value); } var effect = EffectFactory.Instance.CreateNewObject(type); effect.SetData(data); return(effect); }
public void AttachEffectParticlesToChar(CChar tgt, GameObject particles, EEffect effect) { if (tgt != null) { this.DisplayText(tgt, effect); if (particles != null) { var view = tgt.View; if (!view.EffectParticlesDict.ContainsKey(effect)) { view.EffectParticlesDict.Add(effect, particles); particles.transform.SetParent(tgt.GameHandle.transform); particles.transform.position = tgt.GameHandle.transform.position; } } } }
private void DisplayText(CChar tgt, EEffect effect) { var text = effect.ToString().Replace("_", " ").Replace("DoT", ""); VCombatController.Instance.DisplayText(text, tgt, CombatGUIParams.WHITE); }
public MEffect(EEffect type) { this._callbacks = new List <Callback>(); this._type = type; }
public Drinkable(EEffect Peffect, int pDuration) { effect = Peffect; duration = pDuration; }
public void ApplyEffect(EEffect pEEffect, int pDuration) { //apply effect }