public override bool fire(State.AppearablePositionState target, State.DestructableState targetHealth) { util.Line.DrawTempLine(thisPosition.position, target.position, Color.red); var hit = didHit(target); int damageDone = hit? weaponDescription.damage : 0; return(targetHealth.changeHp(-damageDone)); }
public static StateAction followReference(this Ship ship, State.AppearablePositionState target) { return(new FollowReference().Init(ship.state.positionState, target, 15f, 30)); }
public override bool fire(State.AppearablePositionState target, State.DestructableState targetHealt) { int damageDone = 0; return(false); }
public virtual bool didHit(State.AppearablePositionState target, out float distance) { distance = Vector3.Distance(thisPosition.position, target.position); return(_didHit(distance)); }
public abstract bool fire(State.AppearablePositionState target, State.DestructableState targetHealth);
public virtual Weapon init(State.AppearablePositionState thisPosition, WeaponDescription weaponDescription) { this.thisPosition = thisPosition; this.weaponDescription = weaponDescription; return(this); }