public override MinionMovePositionResult MinionMovePosition(Minion _me, MinionMovePositionResult _result) { base.MinionMovePosition(_me, _result); if (_result.target.MinionSlotPosition == MinionSlotPosition.Backward) { _me.RemoveBuff(this); } return _result; }
public MinionMovePositionResult MinionMovePosition(MinionMovePositionResult _result) { foreach (BuffUnit unit in buffUnits) { if (unit.BuffTime == BuffTime.MinionMovePosition) { _result = unit.Effect.Execute(buffedMinion, _result); } } return _result; }
public virtual MinionMovePositionResult Execute(Minion _buffedMinion, MinionMovePositionResult _result) { return _result; }
public virtual MinionMovePositionResult MinionMovePosition(Minion _me, MinionMovePositionResult _result) { return _result; }
public string MoveToMinionSlot(PositionVO _targetPosition) { if (_targetPosition.Equals(data.position)) return "Same position"; if (MinionManager.Instance.GetMinionByPosition(_targetPosition) != null) { return "Target has minion"; } else { MinionMovePositionResult result = new MinionMovePositionResult(_targetPosition); for (int i = buffs.Count - 1; i >= 0; --i) { Buff buff = buffs[i]; result = buff.MinionMovePosition(this, result); } if (result.success) { MinionManager.Instance.MinionChangePosition(data.id, result.target); data.position = result.target; return "Move Success"; } return "Move Failed"; } }
public override MinionMovePositionResult MinionMovePosition(Minion _me, MinionMovePositionResult _result) { _result.success = false; return _result; }