Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
        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);
        }