public NavyFightCM() { } //JSON Constructor public NavyFightCM(NavyFightCM navyFight) { this.AttackCell = navyFight.AttackCell; this.AttackCount = navyFight.AttackCount; this.AttackPlayerID = navyFight.AttackPlayerID; this.AttackPortCount = navyFight.AttackPortCount; this.AttackRetreateAvalible = navyFight.AttackRetreateAvalible; this.DefenceCell = navyFight.DefenceCell; this.DefenceCount = navyFight.DefenceCount; this.DefencePlayerID = navyFight.DefencePlayerID; this.DefencePortCount = navyFight.DefencePortCount; this.DefenceRetreateAvalible = navyFight.DefenceRetreateAvalible; }
internal void CreateNavyFight(NavyFightCM copy) { navyFight = new NavyFightCM(copy); if (OnCreateNavyFight != null) OnCreateNavyFight(); }
internal void DestroyNavyFight() { navyFight = null; if (OnDestroyNavyFight != null) OnDestroyNavyFight(); }
protected override UnitOfWork GetUnitOfWorkImpl(Context context) { int deffencePlayerID = context.map.GetSeaPointOwnerID(to); int defenceCount = context.map.GetNavyCountByCell(to, deffencePlayerID); if (deffencePlayerID == playerID || defenceCount == 0) { UnitOfWork uow = new UOW_Move() { playerID = playerID, from = from, to = to, count = count, gold = gold, }; return uow; } else { NavyFightCM navyFight = new NavyFightCM() { AttackCell = from, AttackCount = count, AttackPlayerID = playerID, AttackPortCount = context.map.GetPortCountForSeaHex(to, playerID), AttackRetreateAvalible = context.map.CanPlayerRetreatFromSeaHex(to, playerID), DefenceCell = to, DefenceCount = defenceCount, DefencePlayerID = deffencePlayerID, DefencePortCount = context.map.GetPortCountForSeaHex(to, deffencePlayerID), DefenceRetreateAvalible = context.map.CanPlayerRetreatFromSeaHex(to, deffencePlayerID) }; UnitOfWork uow = new UOW_Fight() { playerID = playerID, from = from, to = to, count = count, gold = gold, navyFight = navyFight }; return uow; } }