public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float attack = unit.Attritube.GetFloat(UnitStaticAttritubeType.Attack); float money = attack * UnityEngine.Random.Range(Value_0, Value_1); Game.SetMoney(Game.HaveMoney + money); }
void DoBuff(UnitMonoBehaciour targetMono) { foreach (var buff in BuffList) { buff.DoBUFF(this, targetMono); } }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float Attack = unit.Attritube.GetFloat(UnitStaticAttritubeType.Attack); float AIdel = unit.Attritube.GetFloat(UnitStaticAttritubeType.AttackSpeed); unit.Attritube.SetAttr(UnitStaticAttritubeType.Attack, Attack * (1 + Value_0)); unit.Attritube.SetAttr(UnitStaticAttritubeType.AttackSpeed, AIdel * (1 - Value_1)); }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float attack = unit.Attritube.GetFloat(UnitStaticAttritubeType.Attack); Game.SetMoney(Game.HaveMoney + attack * Value_0); ((CannonTowerMono)unit).MpAdd(attack * Value_1); }
IEnumerator WaitAUpdata(UnitMonoBehaciour unit, float defualt) { yield return(0); float Damage = unit.Attritube.GetFloat(UnitDynamicAttritubeType.AttackAdd); unit.Attritube.SetAttr(UnitDynamicAttritubeType.AttackAdd, Damage - defualt); }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float attack = unit.Attritube.GetFloat(UnitStaticAttritubeType.Attack); _moreAttack = attack * (Value_0 - 1); unit.Attritube.SetAttr(UnitDynamicAttritubeType.AttackAdd, _moreAttack); StartCoroutine(recover(unit)); }
IEnumerator recover(UnitMonoBehaciour unit) { yield return(new WaitForSeconds(Value_1)); float speed = unit.Attritube.GetFloat(UnitDynamicAttritubeType.AttackSpeedAdd); unit.Attritube.SetAttr(UnitDynamicAttritubeType.AttackSpeedAdd, speed - _moreSpeed); //GameObject.Destroy(this); }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float maxhp = unit.Attritube.GetFloat(UnitStaticAttritubeType.MaxHp) * Value_0; unit.Attritube.SetAttr(UnitStaticAttritubeType.MaxHp, maxhp); unit.Attritube.SetAttr(UnitDynamicAttritubeType.Hp, maxhp); ((CannonTowerMono)unit)._PlayerStateBarContorl.SetHpBarLength(1f); }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { if (Game.SingelKillData.SingelDcrDamageMult >= 0.5f) { Game.SingelKillData.SingelDcrDamageMult -= Value_0; } else { Game.SetMoney(Game.HaveMoney + Value_1); } }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float Damage = unit.Attritube.GetFloat(UnitStaticAttritubeType.Attack); if (UnityEngine.Random.Range(0, 1f) <= Value_0) { float more = Damage * Value_1 - Damage; unit.Attritube.SetAttr(UnitDynamicAttritubeType.AttackAdd, more); StartCoroutine(WaitAUpdata(unit, more)); } }
GameObject CreateUnitFaceToPlayer(UnitType type, Vector3 vector, UnitMonoBehaciour LookWho) { GameObject unit = UnitManage.CreateUnit(type, null, LookWho.transform.position + vector); Vector3 def = unit.transform.rotation.eulerAngles; unit.transform.LookAt(LookWho.gameObject.transform); Vector3 the = unit.transform.rotation.eulerAngles; unit.transform.rotation = Quaternion.Euler(def.x, the.y, the.z); return(unit); }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float speed = unit.Attritube.GetFloat(UnitStaticAttritubeType.AttackSpeed); _moreSpeed = speed * (1f - Value_0); Debug.Log(_moreSpeed); float speedAdd = unit.Attritube.GetFloat(UnitDynamicAttritubeType.AttackSpeedAdd); unit.Attritube.SetAttr(UnitDynamicAttritubeType.AttackSpeedAdd, speedAdd + _moreSpeed); StartCoroutine(recover(unit)); }
IEnumerator recover(UnitMonoBehaciour unit) { float Value_2 = Attribute.GetFloat(CannonBuffAttrType.Value_2); UnitMove move = unit.gameObject.GetComponent <UnitMove>(); float speed = move.MoveSpeed; move.MoveSpeed = 0; yield return(new WaitForSeconds(Value_2)); move.MoveSpeed = speed; }
IEnumerator WaitAUpdata(UnitMonoBehaciour unit, float time, float damage) { yield return(new WaitForSeconds(time)); if (unit != null) { ParticleContorl.Play(ParticleType.Blade, unit.transform); unit.Damage(damage); } }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float rand = UnityEngine.Random.Range(0, 1f); if (rand <= Value_0) { float maxhp = target.Attritube.GetFloat(UnitStaticAttritubeType.MaxHp); StartCoroutine(WaitAUpdata(target, 0.3f, maxhp * Value_1)); } }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float rand = UnityEngine.Random.Range(0, 1f); if (rand <= Value_0) { float value_2 = Attribute.GetFloat(CannonBuffAttrType.Value_2); float attack = unit.Attritube.GetFloat(UnitStaticAttritubeType.Attack) * value_2; StartCoroutine(WaitAUpdata(target, Value_1, attack)); } }
IEnumerator WaitAUpdata(UnitMonoBehaciour unit, float time, float attack) { while (true) { yield return(new WaitForSeconds(time)); if (unit == null) { break; } unit.Damage(attack); } }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { Color color = new Color(0, 192f / 255f, 1f); foreach (var targetCol in BuffTools.GetOverlapSphereUnit(target.transform.position, Value_0)) { UnitMove move = targetCol.gameObject.GetComponent <UnitMove>(); if (!list.Contains(move)) { move.MoveSpeed *= (1f - Value_1); targetCol._DefCol = color; targetCol._Renderer.material.color = color; list.Add(move); } } }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float attack = unit.Attritube.GetFloat(UnitStaticAttritubeType.Attack); foreach (var unitMono in BuffTools.GetOverlapSphereUnit(target.gameObject.transform.position, Value_0)) { if (unitMono != target && unitMono != unit) { float dis = Vector3.Distance(unitMono.transform.position, target.transform.position); dis = Mathf.Clamp(dis, 1, Value_0 - 1); float damage = attack * Value_1 * ((Value_0 - dis) / Value_0); unitMono.Damage(damage); ((CannonTowerMono)unit).BoomParcitle(unitMono.gameObject, damage); } } }
public IEnumerator Attacking(GameObject go) { OnAttack = true; while (IsTurning()) { yield return(new WaitForSeconds(Time.deltaTime)); } while (go != null) { _Actions.Fire(); UnitMonoBehaciour targetMono = go.GetComponent <UnitMonoBehaciour>(); DoBuff(targetMono); float Damage = Attritube.GetFloat(UnitStaticAttritubeType.Attack) + Attritube.GetFloat(UnitDynamicAttritubeType.AttackAdd); BoomParcitle(go, Damage); targetMono.Damage(Damage); ParticleContorl.Play(ParticleType.fire, FireMouse, Fire.transform); //if (AttackIdel >= 1f) //{ _Actions.Idle(); //} if (go == null) { break; } float idel = Attritube.GetFloat(UnitStaticAttritubeType.AttackSpeed) + Attritube.GetFloat(UnitDynamicAttritubeType.AttackSpeedAdd); yield return(new WaitForSeconds(idel)); } _Actions.Idle(); OnAttack = false; SelectAttackGameObject(); }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float rand = UnityEngine.Random.Range(0, 1f); if (rand <= Value_0) { float attack = unit.Attritube.GetFloat(UnitStaticAttritubeType.Attack); float attackAdd = attack * Value_1 - attack; unit.Attritube.SetAttr(UnitDynamicAttritubeType.AttackAdd, attackAdd); StartCoroutine(WaitAUpdata(unit, attackAdd)); StartCoroutine(recover(target)); } }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float attack = unit.Attritube.GetFloat(UnitStaticAttritubeType.Attack); float hp = unit.Attritube.GetFloat(UnitDynamicAttritubeType.Hp); float value = hp + attack * Value_0; if (value >= unit.Attritube.GetFloat(UnitStaticAttritubeType.MaxHp)) { unit.Attritube.SetAttr(UnitDynamicAttritubeType.Hp, unit.Attritube.GetFloat(UnitStaticAttritubeType.MaxHp)); } else { unit.Attritube.SetAttr(UnitDynamicAttritubeType.Hp, value); } ((CannonTowerMono)unit)._PlayerStateBarContorl.SetHpBarLength(unit.Attritube.GetFloat(UnitDynamicAttritubeType.Hp) / unit.Attritube.GetFloat(UnitStaticAttritubeType.MaxHp)); }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { Game.RandomBuff(); }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { Game.SingelKillData.SingelDcrMp += Value_0; }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { unit.GetComponent <UnitMove>().RotaSpeed = Value_0; }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { Game.SetMoney(Game.HaveMoney * Value_0); }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { float money = UnityEngine.Random.Range(Game.KillCount * Value_0, Game.KillCount * Value_1); Game.SetMoney(Game.HaveMoney + money); }
public override void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { Game.SetMoney(Game.HaveMoney + unit.Attritube.GetFloat(UnitStaticAttritubeType.Attack) * Value_0); }
public virtual void DoBUFF(UnitMonoBehaciour unit, UnitMonoBehaciour target) { }