예제 #1
0
 private void InitializeDeckFlag(ShipModel shipModel)
 {
     if (IsDeckInShip(shipModel))
     {
         DeckModelBase deck       = shipModel.getDeck();
         bool          isFlagShip = deck.GetFlagShip().MemId == shipModel.MemId;
         int           id         = deck.Id;
         if (deck.IsEscortDeckMyself())
         {
             InitializeEscortDeckFlag(id, isFlagShip);
         }
         else
         {
             InitializeNormalDeckFlag(id, isFlagShip);
         }
     }
     else if (shipModel.IsBling())
     {
         BlingDeckFlag();
     }
     else
     {
         RemoveDeckFlag();
     }
 }
예제 #2
0
 private void OnDestroy()
 {
     _bgPanel                 = null;
     _bannerPanel             = null;
     _allUnsetBtn             = null;
     _tenderBtn               = null;
     _fleetNameBtn            = null;
     _fleetNameLabel          = null;
     mTransform_TurnEndStamp  = null;
     _displaySwipeEventRegion = null;
     deckChangeArrows         = null;
     deckIcon                 = null;
     Mem.DelDictionarySafe(ref StateControllerDic);
     _bannerManager   = null;
     SystemIndex      = 0;
     prevControlState = string.Empty;
     changeState      = string.Empty;
     _state           = OrganizeState.Top;
     Mem.Del(ref BannerIndex);
     Mem.Del(ref controlState);
     uiCamera          = null;
     TenderManager     = null;
     currentDeck       = null;
     deckSwitchManager = null;
     decks             = null;
     allShip           = null;
     KeyController     = null;
 }
 private void OnDestroy()
 {
     this._bgPanel                 = null;
     this._bannerPanel             = null;
     this._allUnsetBtn             = null;
     this._tenderBtn               = null;
     this._fleetNameBtn            = null;
     this._fleetNameLabel          = null;
     this.mTransform_TurnEndStamp  = null;
     this._displaySwipeEventRegion = null;
     this.deckChangeArrows         = null;
     this.deckIcon                 = null;
     Mem.DelDictionarySafe <string, TaskOrganizeTop.StateController>(ref this.StateControllerDic);
     this._bannerManager              = null;
     TaskOrganizeTop.SystemIndex      = 0;
     TaskOrganizeTop.prevControlState = string.Empty;
     TaskOrganizeTop.changeState      = string.Empty;
     this._state = TaskOrganizeTop.OrganizeState.Top;
     Mem.Del <int>(ref TaskOrganizeTop.BannerIndex);
     Mem.Del <string>(ref TaskOrganizeTop.controlState);
     this.uiCamera                 = null;
     this.TenderManager            = null;
     this.currentDeck              = null;
     this.deckSwitchManager        = null;
     TaskOrganizeTop.decks         = null;
     TaskOrganizeTop.allShip       = null;
     TaskOrganizeTop.KeyController = null;
 }
예제 #4
0
        public bool IsValidPowerUp(List <ShipModel> material_ships)
        {
            if (_powup_target_ship == null)
            {
                return(false);
            }
            if (material_ships == null)
            {
                return(false);
            }
            if (material_ships.FindAll((ShipModel ship) => ship != null).Count <= 0)
            {
                return(false);
            }
            if (getPowUpInfo(material_ships).IsAllZero())
            {
                return(false);
            }
            DeckModelBase deck = _powup_target_ship.getDeck();

            if (deck != null && deck.IsActionEnd())
            {
                return(false);
            }
            return(true);
        }
    private void InitializeDeckFlag(ShipModel shipModel)
    {
        bool flag = this.IsDeckInShip(shipModel);

        if (flag)
        {
            DeckModelBase deck       = shipModel.getDeck();
            bool          isFlagShip = deck.GetFlagShip().MemId == shipModel.MemId;
            int           id         = deck.Id;
            bool          flag2      = deck.IsEscortDeckMyself();
            if (flag2)
            {
                this.InitializeEscortDeckFlag(id, isFlagShip);
            }
            else
            {
                this.InitializeNormalDeckFlag(id, isFlagShip);
            }
        }
        else if (shipModel.IsBling())
        {
            this.BlingDeckFlag();
        }
        else
        {
            this.RemoveDeckFlag();
        }
    }
예제 #6
0
        public bool IsValidShip(int ship_mem_id)
        {
            ShipModel ship = base.UserInfo.GetShip(ship_mem_id);

            if (ship.IsBling())
            {
                return(false);
            }
            if (ship.IsInMission())
            {
                return(false);
            }
            DeckModelBase deck = ship.getDeck();

            if (deck != null)
            {
                if (deck.IsEscortDeckMyself())
                {
                    return(false);
                }
                if (deck.IsActionEnd())
                {
                    return(false);
                }
            }
            return(true);
        }
    protected override bool IsDeckInShip(ShipModel shipModel)
    {
        DeckModelBase deck  = shipModel.getDeck();
        bool          flag  = deck != null;
        bool          flag2 = Enumerable.Contains <ShipModel>(EscortOrganizeTaskManager.GetEscortManager().EditDeck.GetShips(), shipModel);

        return(flag || flag2);
    }
예제 #8
0
        public bool IsValidStartRepair(int ship_mem_id, bool use_repairkit)
        {
            ShipModel shipModel = _ships.Find((ShipModel x) => x.MemId == ship_mem_id);

            if (shipModel == null)
            {
                return(false);
            }
            if (shipModel.TaikyuRate >= 100.0)
            {
                return(false);
            }
            if (shipModel.IsInMission() || shipModel.IsInRepair())
            {
                return(false);
            }
            if (shipModel.IsBling())
            {
                return(false);
            }
            if (shipModel.IsBlingWaitFromEscortDeck())
            {
                return(false);
            }
            MaterialInfo resourcesForRepair = shipModel.GetResourcesForRepair();

            if (base.Material.Fuel < resourcesForRepair.Fuel)
            {
                return(false);
            }
            if (base.Material.Steel < resourcesForRepair.Steel)
            {
                return(false);
            }
            if (use_repairkit && base.Material.RepairKit < 1)
            {
                return(false);
            }
            DeckModelBase deck = shipModel.getDeck();

            if (deck != null)
            {
                if (deck.IsEscortDeckMyself())
                {
                    return(false);
                }
                return(deck.AreaId == MapArea.Id);
            }
            if (shipModel.IsBlingWaitFromDeck() && shipModel.AreaIdBeforeBlingWait == MapArea.Id)
            {
                return(true);
            }
            if (MapArea.Id == 1)
            {
                return(true);
            }
            return(false);
        }
    protected override DeckModelBase GetDeckFromShip(ShipModel shipModel)
    {
        DeckModelBase deck = shipModel.getDeck();

        if (deck != null)
        {
            return(deck);
        }
        return(EscortOrganizeTaskManager.GetEscortManager().EditDeck);
    }
예제 #10
0
        public static DeckModelBase getDeck(int ship_mem_id)
        {
            DeckModelBase deckModelBase = _userInfoModel.GetDeckByShipMemId(ship_mem_id);

            if (deckModelBase == null)
            {
                deckModelBase = _userInfoModel.GetEscortDeckByShipMemId(ship_mem_id);
            }
            return(deckModelBase);
        }
예제 #11
0
        public static void log(ShipModel[] ships)
        {
            string text = string.Empty;

            for (int i = 0; i < ships.Length; i++)
            {
                ShipModel shipModel = ships[i];
                if (shipModel == null)
                {
                    text += string.Format("[{0}] - \n", i);
                }
                else
                {
                    text += string.Format("[{0}]{1} {2} Lv:{3}", new object[]
                    {
                        i,
                        shipModel.ShipTypeName,
                        shipModel.ShortName,
                        shipModel.Level
                    });
                    text += string.Format(" {0}/{1}({2:F}% - {3})", new object[]
                    {
                        shipModel.NowHp,
                        shipModel.MaxHp,
                        shipModel.TaikyuRate,
                        shipModel.DamageStatus
                    });
                    text += string.Format(" 疲労度:{0}", shipModel.Condition);
                    DeckModelBase deck = shipModel.getDeck();
                    if (deck != null && deck is DeckModel)
                    {
                        text += string.Format(" [艦隊ID:{0}{1}に編成中]", ((DeckModel)deck).Id, (!shipModel.IsInActionEndDeck()) ? string.Empty : "(行動終了済)");
                    }
                    else if (deck != null && deck is EscortDeckModel)
                    {
                        text += string.Format(" [護衛艦隊{0}に編成中]", ((EscortDeckModel)deck).Id);
                    }
                    text += string.Format(" {0}", (!shipModel.IsLocked()) ? string.Empty : "[ロック]");
                    text += string.Format(" {0}", (!shipModel.IsInRepair()) ? string.Empty : "[入渠中]");
                    text += string.Format(" {0}", (!shipModel.IsInMission()) ? string.Empty : "[遠征中]");
                    text += string.Format(" {0}", (!shipModel.IsBling()) ? string.Empty : "[回航中]");
                    if (shipModel.IsBlingWait())
                    {
                        text += string.Format("[回航待ち中(Area:{0})]", shipModel.AreaIdBeforeBlingWait);
                    }
                    text += string.Format(" {0}", (!shipModel.IsTettaiBling()) ? string.Empty : "[撤退中]");
                    text += string.Format(" mstID:{0} memID:{1}", shipModel.MstId, shipModel.MemId);
                    text += string.Format("\n", new object[0]);
                }
            }
            Logging.log(new object[]
            {
                text
            });
        }
 public void OnDeckChange(DeckModel deck)
 {
     if (this.currentDeck != null)
     {
         bool flag = this.GetDeckID() < deck.Id;
         for (int i = 0; i < 6; i++)
         {
             this._bannerManager[i].UpdateChangeBanner(false);
             if (flag)
             {
                 this._bannerManager[i].DeckChangeAnimetion(true);
             }
             else
             {
                 this._bannerManager[i].DeckChangeAnimetion(false);
             }
         }
     }
     this.currentDeck = deck;
     SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeck = (DeckModel)this.currentDeck;
     if (this.currentDeck != null && deck.IsActionEnd())
     {
         this.mTransform_TurnEndStamp.SetActive(true);
         ShortcutExtensions.DOKill(this.mTransform_TurnEndStamp, false);
         ShortcutExtensions.DOLocalRotate(this.mTransform_TurnEndStamp, new Vector3(0f, 0f, 300f), 0f, 1);
         TweenSettingsExtensions.SetEase <Tweener>(ShortcutExtensions.DOLocalRotate(this.mTransform_TurnEndStamp, new Vector3(0f, 0f, 360f), 0.8f, 1), 30);
     }
     else
     {
         this.mTransform_TurnEndStamp.SetActive(false);
     }
     ShipModel[] ships = deck.GetShips();
     for (int j = 0; j < 6; j++)
     {
         if (j < ships.Length)
         {
             this._bannerManager[j].setShip(ships[j]);
             this._bannerManager[j].IsSet = true;
         }
         else
         {
             this._bannerManager[j].IsSet = false;
         }
     }
     TaskOrganizeTop.BannerIndex = 1;
     this.setControlState();
     this.UpdateDeckName();
     this.UpdeteDeckIcon();
     this.UpdateSystemButtons();
     this.deckChangeArrows.UpdateView();
 }
예제 #13
0
 public void OnDeckChange(DeckModel deck)
 {
     if (currentDeck != null)
     {
         bool flag = GetDeckID() < deck.Id;
         for (int i = 0; i < 6; i++)
         {
             _bannerManager[i].UpdateChangeBanner(enabled: false);
             if (flag)
             {
                 _bannerManager[i].DeckChangeAnimetion(isLeft: true);
             }
             else
             {
                 _bannerManager[i].DeckChangeAnimetion(isLeft: false);
             }
         }
     }
     currentDeck = deck;
     SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeck = (DeckModel)currentDeck;
     if (currentDeck != null && deck.IsActionEnd())
     {
         mTransform_TurnEndStamp.SetActive(isActive: true);
         mTransform_TurnEndStamp.DOKill();
         mTransform_TurnEndStamp.DOLocalRotate(new Vector3(0f, 0f, 300f), 0f, RotateMode.FastBeyond360);
         mTransform_TurnEndStamp.DOLocalRotate(new Vector3(0f, 0f, 360f), 0.8f, RotateMode.FastBeyond360).SetEase(Ease.OutBounce);
     }
     else
     {
         mTransform_TurnEndStamp.SetActive(isActive: false);
     }
     ShipModel[] ships = deck.GetShips();
     for (int j = 0; j < 6; j++)
     {
         if (j < ships.Length)
         {
             _bannerManager[j].setShip(ships[j]);
             _bannerManager[j].IsSet = true;
         }
         else
         {
             _bannerManager[j].IsSet = false;
         }
     }
     BannerIndex = 1;
     setControlState();
     UpdateDeckName();
     UpdeteDeckIcon();
     UpdateSystemButtons();
     deckChangeArrows.UpdateView();
 }
    protected override bool IsDeckInShip(ShipModel shipModel)
    {
        DeckModelBase deck  = shipModel.getDeck();
        bool          flag  = deck != null && !deck.IsEscortDeckMyself();
        bool          flag2 = false;

        ShipModel[] ships = EscortOrganizeTaskManager.GetEscortManager().EditDeck.GetShips();
        ShipModel[] array = ships;
        foreach (ShipModel shipModel2 in array)
        {
            if (shipModel2.MemId == shipModel.MemId)
            {
                flag2 = true;
                break;
            }
        }
        return(flag || flag2);
    }
예제 #15
0
        private void SetLabel(ShipModel model)
        {
            ShipNameLabel.text  = model.ShipTypeName + "\u3000";
            ShipNameLabel.text += model.Name;
            DeckModelBase deck = model.getDeck();
            string        str  = (deck == null || deck.GetFlagShip().MemId != model.MemId) ? "所属" : "旗艦";

            DeckNameLabel.supportEncoding = false;
            if (deck != null)
            {
                DeckNameLabel.text = deck.Name + str;
                BG.height          = 148;
            }
            else
            {
                DeckNameLabel.text = string.Empty;
                BG.height          = 95;
            }
            LevelLabel.text = "練度 " + model.Level;
        }
예제 #16
0
    protected override bool IsDeckInShip(ShipModel shipModel)
    {
        DeckModelBase deck  = shipModel.getDeck();
        bool          flag  = deck != null;
        bool          flag2 = flag && !deck.IsEscortDeckMyself();
        bool          flag3 = false;

        ShipModel[] ships = EscortOrganizeTaskManager.GetEscortManager().EditDeck.GetShips();
        ShipModel[] array = ships;
        for (int i = 0; i < array.Length; i++)
        {
            ShipModel shipModel2 = array[i];
            if (shipModel2.MemId == shipModel.MemId)
            {
                flag3 = true;
                break;
            }
        }
        return(flag2 || flag3);
    }
예제 #17
0
        public bool IsValidPowerUp(List <ShipModel> material_ships)
        {
            if (this._powup_target_ship == null)
            {
                return(false);
            }
            if (material_ships == null)
            {
                return(false);
            }
            if (material_ships.FindAll((ShipModel ship) => ship != null).get_Count() <= 0)
            {
                return(false);
            }
            if (this.getPowUpInfo(material_ships).IsAllZero())
            {
                return(false);
            }
            DeckModelBase deck = this._powup_target_ship.getDeck();

            return(deck == null || !deck.IsActionEnd());
        }
예제 #18
0
        public static void log(ShipModel[] ships)
        {
            string text = string.Empty;

            for (int i = 0; i < ships.Length; i++)
            {
                ShipModel shipModel = ships[i];
                if (shipModel == null)
                {
                    text += $"[{i}] - \n";
                    continue;
                }
                text += $"[{i}]{shipModel.ShipTypeName} {shipModel.ShortName} Lv:{shipModel.Level}";
                text += $" {shipModel.NowHp}/{shipModel.MaxHp}({shipModel.TaikyuRate:F}% - {shipModel.DamageStatus})";
                text += $" 疲労度:{shipModel.Condition}";
                DeckModelBase deck = shipModel.getDeck();
                if (deck != null && deck is DeckModel)
                {
                    text += string.Format(" [艦隊ID:{0}{1}に編成中]", ((DeckModel)deck).Id, (!shipModel.IsInActionEndDeck()) ? string.Empty : "(行動終了済)");
                }
                else if (deck != null && deck is EscortDeckModel)
                {
                    text += $" [護衛艦隊{((EscortDeckModel)deck).Id}に編成中]";
                }
                text += string.Format(" {0}", (!shipModel.IsLocked()) ? string.Empty : "[ロック]");
                text += string.Format(" {0}", (!shipModel.IsInRepair()) ? string.Empty : "[入渠中]");
                text += string.Format(" {0}", (!shipModel.IsInMission()) ? string.Empty : "[遠征中]");
                text += string.Format(" {0}", (!shipModel.IsBling()) ? string.Empty : "[回航中]");
                if (shipModel.IsBlingWait())
                {
                    text += $"[回航待ち中(Area:{shipModel.AreaIdBeforeBlingWait})]";
                }
                text += string.Format(" {0}", (!shipModel.IsTettaiBling()) ? string.Empty : "[撤退中]");
                text += $" mstID:{shipModel.MstId} memID:{shipModel.MemId}";
                text += $"\n";
            }
            log(text);
        }
예제 #19
0
        public bool IsValidShip(int ship_mem_id)
        {
            ShipModel ship = base.UserInfo.GetShip(ship_mem_id);

            if (ship.IsBling())
            {
                return(false);
            }
            DeckModelBase deck = ship.getDeck();

            if (deck != null)
            {
                if (deck.AreaId != MapArea.Id)
                {
                    return(false);
                }
                if (!deck.IsEscortDeckMyself())
                {
                    return(false);
                }
            }
            return(_edit_deck.HasShipMemId(ship_mem_id));
        }
    private bool IsDeckInShip(ShipModel shipModel)
    {
        DeckModelBase deck = shipModel.getDeck();

        return(deck != null);
    }
예제 #21
0
        protected virtual bool IsDeckInShip(ShipModel shipModel)
        {
            DeckModelBase deckFromShip = GetDeckFromShip(shipModel);

            return(deckFromShip != null);
        }