public bool IsValidDeploy(int area_id, int tanker_count, EscortDeckManager escort)
        {
            if (!this.IsValidChangeTankerCount(area_id, tanker_count))
            {
                return(false);
            }
            AreaTankerModel tankerCount = ManagerBase._area.get_Item(area_id).GetTankerCount();

            return(escort.HasChanged() || tankerCount.GetCount() != tanker_count);
        }
示例#2
0
        public bool IsValidDeploy(int area_id, int tanker_count, EscortDeckManager escort)
        {
            if (!IsValidChangeTankerCount(area_id, tanker_count))
            {
                return(false);
            }
            AreaTankerModel tankerCount = ManagerBase._area[area_id].GetTankerCount();

            if (!escort.HasChanged() && tankerCount.GetCount() == tanker_count)
            {
                return(false);
            }
            return(true);
        }
示例#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);
        }