public void Init(float power,bool isDamage, IBulletHolder talic) { Init(power); this.talic = talic; cacheGameObject = Resources.Load(WAY_AOETRAP_BULLET, typeof(Bullet)) as Bullet; this.isDamage = isDamage; }
public virtual void Init(Vector3 direction,Weapon weapon) { if (rebuildY) { direction = new Vector3(direction.x, 0, direction.z); } this.bulletHolder = weapon; start = FindStartPos(weapon); trg = direction.normalized * weapon.Parameters.range + start; subInit(); switch (FlyType) { case FlyType.straight: updateAction = updateVector; break; case FlyType.curve: control = ContrtolPoint(start, trg, ControlPointOffset.soft); updateAction = updateQuadVector; break; default: updateAction = updateVector; break; } transform.rotation = Quaternion.LookRotation(direction); }
public override void Init(Unit target, IBulletHolder weapon,Vector3 startPosition) { start = startPosition; transform.position = start; this.bulletHolder = weapon; subInit(); updateAction = updateWaitBullet; time = Time.time + waitTime; }
public override void EndUse() { targetUnit = null; bulletHolder = null; updateAction = null; time = 0; AffecttedUnits.Clear(); base.EndUse(); }
public virtual void Init(Unit target, IBulletHolder weapon,Vector3 startPosition) { targetUnit = target; start = startPosition; transform.position = start; this.bulletHolder = weapon; subInit(); startDist2target = (targetUnit.transform.position - start).magnitude; updateAction = updateTargetUnit; transform.LookAt(targetUnit.transform.position); }