Beispiel #1
0
        private IEnumerator RepairKitConfirmModeEnter()
        {
            GameObject Instance = Util.Instantiate(Prefab_RepairKitConfim, base.transform.parent.gameObject);

            repairKitConfim = Instance.GetComponent <StrategyRepairKitConfirm>();
            RepairMng       = new RepairManager(SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeck.AreaId);
            RepairDockModel[] dockModels = RepairMng.GetDocks();
            for (int i = 0; i < RepairMng.GetDocks().Length; i++)
            {
                if (dockModels[i].GetShip() != null && dockModels[i].GetShip().MemId == FocusBanner.ShipModel.MemId)
                {
                    repairDockModel = dockModels[i];
                    break;
                }
            }
            if (repairDockModel == null)
            {
                ModeProcessor.ChangeMode(0);
                yield break;
            }
            repairKitConfim.SetModel(repairDockModel, RepairMng.Material.RepairKit);
            repairKitConfim.SetOnSelectPositive(OnDesideRepairKit);
            repairKitConfim.SetOnSelectNeagtive(OnCancelRepairKit);
            yield return(new WaitForEndOfFrame());

            repairKitConfim.Open();
            yield return(null);
        }
Beispiel #2
0
 private bool IsValidRepair()
 {
     RepairMng       = new RepairManager(SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeck.AreaId);
     repairDockModel = null;
     RepairDockModel[] docks = RepairMng.GetDocks();
     if (FocusBanner.ShipModel.NowHp >= FocusBanner.ShipModel.MaxHp)
     {
         CommonPopupDialog.Instance.StartPopup(Util.getPopupMessage(PopupMess.NoDamage));
         return(false);
     }
     if (SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeckAreaModel.NDockMax == 0)
     {
         CommonPopupDialog.Instance.StartPopup("この海域には入渠ドックがありません");
         return(false);
     }
     for (int i = 0; i < RepairMng.GetDocks().Length; i++)
     {
         if (docks[i].State == NdockStates.EMPTY)
         {
             repairDockModel = docks[i];
             break;
         }
     }
     if (repairDockModel == null)
     {
         CommonPopupDialog.Instance.StartPopup("入渠ドックに空きがありません");
         return(false);
     }
     if (!RepairMng.IsValidStartRepair(FocusBanner.ShipModel.MemId))
     {
         CommonPopupDialog.Instance.StartPopup("資源が不足しています");
         return(false);
     }
     return(true);
 }
Beispiel #3
0
        public void SetModel(RepairDockModel dock, int RepairKitNum)
        {
            ShipModel ship = dock.GetShip();

            this.ShipName.text        = ship.Name;
            this.ShipLV.textInt       = ship.Level;
            this.NeedDay.textInt      = dock.RemainingTurns;
            this.KitNumBefore.textInt = RepairKitNum;
            this.KitNumAfter.textInt  = RepairKitNum - 1;
            this.shipBanner.SetShipData(ship);
        }
Beispiel #4
0
        public bool ChangeRepairSpeed(int selected_dock_index)
        {
            RepairDockModel        repairDockModel = _docks[selected_dock_index];
            Api_Result <Mem_ndock> api_Result      = new Api_req_Nyuukyo().SpeedChange(repairDockModel.Id);

            if (api_Result.state == Api_Result_State.Success)
            {
                Mem_ndock data = api_Result.data;
                repairDockModel.__Update__(data);
                return(true);
            }
            return(false);
        }
Beispiel #5
0
        public bool IsValidChangeRepairSpeed(int selected_dock_index)
        {
            RepairDockModel repairDockModel = _docks[selected_dock_index];

            if (repairDockModel.State != NdockStates.RESTORE)
            {
                return(false);
            }
            if (base.Material.RepairKit < 1)
            {
                return(false);
            }
            return(true);
        }
Beispiel #6
0
        private void _UpdateRepairDockData()
        {
            _docks = new List <RepairDockModel>();
            Dictionary <int, List <Mem_ndock> > data = new Api_get_Member().AreaNdock().data;

            if (data.ContainsKey(MapArea.Id))
            {
                List <Mem_ndock> list = data[MapArea.Id];
                for (int i = 0; i < list.Count; i++)
                {
                    RepairDockModel item = new RepairDockModel(list[i]);
                    _docks.Add(item);
                }
                MapArea.__UpdateNdockData__(list);
            }
        }
Beispiel #7
0
        private void _UpdateRepairDockData()
        {
            this._docks = new List <RepairDockModel>();
            Dictionary <int, List <Mem_ndock> > data = new Api_get_Member().AreaNdock().data;

            if (data.ContainsKey(this.MapArea.Id))
            {
                List <Mem_ndock> list = data.get_Item(this.MapArea.Id);
                for (int i = 0; i < list.get_Count(); i++)
                {
                    RepairDockModel repairDockModel = new RepairDockModel(list.get_Item(i));
                    this._docks.Add(repairDockModel);
                }
                this.MapArea.__UpdateNdockData__(list);
            }
        }
Beispiel #8
0
        public bool StartRepair(int selected_dock_index, int ship_mem_id, bool use_repairkit)
        {
            if (!IsValidStartRepair(ship_mem_id, use_repairkit))
            {
                return(false);
            }
            RepairDockModel        repairDockModel = _docks[selected_dock_index];
            Api_Result <Mem_ndock> api_Result      = new Api_req_Nyuukyo().Start(repairDockModel.Id, ship_mem_id, use_repairkit);

            if (api_Result.state == Api_Result_State.Success)
            {
                Mem_ndock data = api_Result.data;
                repairDockModel.__Update__(data);
                if (use_repairkit && _pre_sort_key == SortKey.DAMAGE)
                {
                    _UpdateRepairShipList();
                }
                return(true);
            }
            return(false);
        }
Beispiel #9
0
 private void OnDestroy()
 {
     ShipStates               = null;
     key                      = null;
     FocusBanner              = null;
     SupplyMng                = null;
     RepairMng                = null;
     OrganizeMng              = null;
     ModeProcessor            = null;
     dialogKeyController      = null;
     repairDockModel          = null;
     Prefab_RepairConfim      = null;
     repairConfim             = null;
     Prefab_RepairKitConfim   = null;
     repairKitConfim          = null;
     Prefab_OrganizeDetailMng = null;
     Prefab_OrganizeList      = null;
     OrganizeDetailMng        = null;
     DeckNoIcon               = null;
     DeckNoLabel              = null;
     ListSelectShipModel      = null;
     CurrentDeck              = null;
 }
Beispiel #10
0
 public int GetDockIndexFromDock(RepairDockModel dock)
 {
     return(_docks.IndexOf(dock));
 }
Beispiel #11
0
        public bool IsValidChangeRepairSpeed(int selected_dock_index)
        {
            RepairDockModel repairDockModel = this._docks.get_Item(selected_dock_index);

            return(repairDockModel.State == NdockStates.RESTORE && base.Material.RepairKit >= 1);
        }