public bool IsValidChangeTankerCount(int area_id, int count) { AreaTankerModel tankerCount = ManagerBase._area[area_id].GetTankerCount(); int count2 = tankerCount.GetCount(); if (count2 > count) { int num = count2 - count; int count3 = new Api_req_Transport().GetEnableBackTanker(area_id).Count; if (count3 < num) { return(false); } return(true); } if (count2 < count) { int num2 = count - count2; if (!ManagerBase._area[area_id].IsOpen()) { return(false); } if (tankerCount.GetMaxCount() < count) { return(false); } AreaTankerModel nonDeploymentTankerCount = GetNonDeploymentTankerCount(); if (nonDeploymentTankerCount.GetCount() - nonDeploymentTankerCount.GetCountMove() < num2) { return(false); } return(true); } return(true); }
public EscortDeckManager(int area_id) { _area_id = area_id; _api = new Api_req_Transport(); _CreateMapAreaModel(); _init_deck = base.UserInfo.__CreateEscortDeckClone__(area_id); _edit_deck = base.UserInfo.__CreateEscortDeckClone__(area_id); }
public bool Deploy(int area_id, int tanker_count, EscortDeckManager escort) { AreaTankerModel tankerCount = ManagerBase._area[area_id].GetTankerCount(); int count = tankerCount.GetCount(); if (!IsValidDeploy(area_id, tanker_count, escort)) { return(false); } bool flag = false; if (escort.HasChanged()) { flag = escort.__Commit__(); } Api_Result <List <Mem_tanker> > api_Result = null; if (count != tanker_count) { if (count > tanker_count) { int num = count - tanker_count; api_Result = new Api_req_Transport().BackTanker(area_id, num); } else if (count < tanker_count) { int num2 = tanker_count - count; api_Result = new Api_req_Transport().GoTanker(area_id, num2); } } if (!flag && (api_Result == null || api_Result.state != 0)) { return(false); } if (flag) { base.UserInfo.__UpdateEscortDeck__(new Api_get_Member()); } if (api_Result != null && api_Result.state == Api_Result_State.Success) { return(_tanker_manager.Update()); } return(flag); }