public void TestLeaveSiege() { if (IsInSiege() && !SelfUnit.IsEnemy(SiegeCastle)) { LeaveSiege(true); } }
public void Siege(BaseUnit unit) { if (unit == null) { return; } var castle = unit as TCastle; if (castle == null) { CLog.Error("Siege:castle == null)"); return; } if (IsInDefend()) { return; } if (IsInSiege()) { return; } if (!SelfUnit.IsEnemy(castle)) { return; } PreSiegeCastle = SiegeCastle; SiegeCastle = castle; castle.CastleStationedMgr.OnBeSiege(SelfUnit); OnSiege(); Callback_OnSiegeChanged?.Invoke(PreSiegeCastle, SiegeCastle); }