public void PlayStartCutin(Action onFinishedCallBack)
 {
     mSprite_CutinMessage.spriteName = "expedition_txt_go";
     mAnimationFinishedCallBack      = onFinishedCallBack;
     mPanelThis.alpha = 1f;
     GetComponent <Animation>().Play("Anim_MissionStartCutinShutter");
     GetComponent <Animation>().Blend("Anim_MissionStartCutinLevel" + mDeckModel.GetShips().Length);
 }
            public static List <int> GenerateRandomIndexMap(DeckModel deckModel)
            {
                List <int> list = new List <int>();

                while (Enumerable.Count <int>(list) < deckModel.GetShips().Length)
                {
                    int num = Random.Range(0, deckModel.GetShips().Length);
                    if (!list.Contains(num))
                    {
                        list.Add(num);
                    }
                }
                return(list);
            }
Beispiel #3
0
            public static List <int> GenerateRandomIndexMap(DeckModel deckModel)
            {
                List <int> list = new List <int>();

                while (list.Count() < deckModel.GetShips().Length)
                {
                    int item = UnityEngine.Random.Range(0, deckModel.GetShips().Length);
                    if (!list.Contains(item))
                    {
                        list.Add(item);
                    }
                }
                return(list);
            }
Beispiel #4
0
 private void GotoSupplyConfirm()
 {
     if (!CheckDeckState())
     {
         return;
     }
     ShipModel[] ships = CurrentDeck.GetShips();
     for (int i = 0; i < ships.Length; i++)
     {
         if (ships[i].IsTettaiBling())
         {
             CommonPopupDialog.Instance.StartPopup("撤退中の艦を含んでいます");
             return;
         }
     }
     SupplyMng = new SupplyManager(SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeck.AreaId);
     SupplyMng.InitForDeck(SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeck.Id);
     if (SupplyMng.CheckBoxALLState != CheckBoxStatus.ON)
     {
         SupplyMng.ClickCheckBoxAll();
     }
     if (SupplyMng.CheckedShipIndices.Length == 0)
     {
         CommonPopupDialog.Instance.StartPopup("補給対象の艦が居ません");
     }
     else if (!SupplyMng.IsValidSupply(SupplyType.All))
     {
         CommonPopupDialog.Instance.StartPopup("資源が不足しています");
     }
     else
     {
         ModeProcessor.ChangeMode(1);
     }
 }
Beispiel #5
0
 public void InitForDeck(int deck_id)
 {
     if (_selected_deck != null && _selected_deck.Id != deck_id)
     {
         _checked_ships.Clear();
     }
     else if (_selected_deck == null)
     {
         _checked_ships.Clear();
     }
     _selected_deck = base.UserInfo.GetDeck(deck_id);
     if (_selected_deck != null && _selected_deck.AreaId == MapArea.Id)
     {
         _target_ships    = new List <ShipModel>(_selected_deck.GetShips());
         _checkbox_states = new CheckBoxStatus[_target_ships.Count];
         for (int i = 0; i < _target_ships.Count; i++)
         {
             ShipModel ship = _target_ships[i];
             _checkbox_states[i] = _GetCheckBoxStatus(ship, _selected_deck);
         }
     }
     else
     {
         _target_ships    = new List <ShipModel>();
         _checkbox_states = new CheckBoxStatus[0];
     }
     _CalcMaterialForSupply();
     _SetCheckBoxAllState();
 }
Beispiel #6
0
 public ShienModel_Hou(DeckModel shien_deck, List <ShipModel_BattleAll> ships_f, List <ShipModel_BattleAll> ships_e, SupportAtack data)
 {
     _shien_deck_id = shien_deck.Id;
     _ships_shien   = new List <ShipModel_Attacker>();
     ShipModel[] ships = shien_deck.GetShips();
     for (int i = 0; i < ships.Length; i++)
     {
         _ships_shien.Add(new __ShipModel_Attacker__(ships[i], i));
     }
     _ships_f  = ships_f;
     _ships_e  = ships_e;
     _data     = data;
     _dmg_data = new List <DamageModel>();
     for (int j = 0; j < ships_e.Count; j++)
     {
         ShipModel_BattleAll shipModel_BattleAll = ships_e[j];
         if (shipModel_BattleAll == null)
         {
             _dmg_data.Add(null);
             continue;
         }
         DamageModel       damageModel = new DamageModel(shipModel_BattleAll);
         int               damage      = data.Hourai.Damage[j];
         BattleHitStatus   hitstate    = data.Hourai.Clitical[j];
         BattleDamageKinds dmgkind     = data.Hourai.DamageType[j];
         damageModel.__AddData__(damage, hitstate, dmgkind);
         damageModel.__CalcDamage__();
         _dmg_data.Add(damageModel);
     }
 }
Beispiel #7
0
        private IEnumerator InitailizeCoroutine(DeckModel deckModel, Action callBack)
        {
            float delayStart = Time.deltaTime;

            ShipModel[] ships = deckModel.GetShips();
            for (int i = 0; i < ships.Length; i++)
            {
                mUIMissionShipBanners[i].Initialize(i + 1, ships[i]);
                mUIMissionShipBanners[i].Show();
                UIUtil.AnimationOnFocus(mUIMissionShipBanners[i].transform, null);
                yield return(new WaitForSeconds(0.05f));
            }
            yield return(null);

            Vector3 localPosition  = mLabel_Message.transform.localPosition;
            float   x              = localPosition.x - 50f;
            Vector3 localPosition2 = mLabel_Message.transform.localPosition;
            float   y              = localPosition2.y;
            Vector3 localPosition3 = mLabel_Message.transform.localPosition;
            Vector3 from           = new Vector3(x, y, localPosition3.z);
            Vector3 to             = mLabel_Message.transform.localPosition;

            mLabel_Message.transform.localPosition = from;
            mLabel_Message.transform.DOLocalMove(to, 0.3f);
            DOVirtual.DelayedCall(Time.deltaTime - delayStart, delegate
            {
                this.mLabel_Message.transform.DOLocalMove(to, 0.3f);
            });
            mLabel_Message.alpha = 1f;
            callBack?.Invoke();
        }
Beispiel #8
0
        private ShipModel GetTargetShip(DeckModel model)
        {
            List <ShipModel> list = (from x in model.GetShips()
                                     where !x.IsEscaped()
                                     select x).ToList();

            return(list[XorRandom.GetILim(0, list.Count - 1)]);
        }
Beispiel #9
0
 public ShienModel_Air(DeckModel shien_deck, List <ShipModel_BattleAll> ships_f, List <ShipModel_BattleAll> ships_e, SupportAtack data) : base(ships_f, ships_e, data.AirBattle)
 {
     this._shien_deck_id = shien_deck.Id;
     this._ships_shien   = new List <ShipModel_Attacker>();
     ShipModel[] ships = shien_deck.GetShips();
     for (int i = 0; i < ships.Length; i++)
     {
         this._ships_shien.Add(new __ShipModel_Attacker__(ships[i], i));
     }
     base._Initialize();
 }
Beispiel #10
0
 public void Initialize(DeckModel deckModel)
 {
     mUIRemodelShipSliderThumb_Thumb.transform.localPosition = Vector3.zero;
     mDeckModel  = deckModel;
     mShipCount  = mDeckModel.GetShips().Length;
     mCellHeight = 46;
     DOVirtual.Float(mWidget_SliderLimit.height, mCellHeight * (mShipCount - 1), 0.3f, delegate(float value)
     {
         mWidget_SliderLimit.height = (int)value;
     });
     mIndex            = 0;
     mLabel_Index.text = (mIndex + 1).ToString();
 }
 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();
 }
Beispiel #12
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();
 }
    private string getAlertMessage(DeckModel deck)
    {
        UserInfoModel userInfo       = StrategyTopTaskManager.GetLogicManager().UserInfo;
        MemberMaxInfo memberMaxInfo  = userInfo.ShipCountData();
        MemberMaxInfo memberMaxInfo2 = userInfo.SlotitemCountData();

        if (deck.GetShips().Any((ShipModel x) => x.IsTaiha()))
        {
            AlertMessage.color = AlertColor;
            return("※大破している艦娘がいます。(被弾により喪失の危険があります)");
        }
        if (memberMaxInfo.MaxCount <= memberMaxInfo.NowCount)
        {
            AlertMessage.color = AlertColor;
            return("※艦娘保有数が上限に達しているため、新しい艦娘との邂逅はできません。");
        }
        if (memberMaxInfo.MaxCount - 6 <= memberMaxInfo.NowCount)
        {
            AlertMessage.color = WarningColor;
            return("※艦娘保有数が上限に近いため、新しい艦娘と邂逅できない可能性があります。");
        }
        if (memberMaxInfo2.MaxCount <= memberMaxInfo2.NowCount)
        {
            AlertMessage.color = AlertColor;
            return("※装備保有数が上限に達しているため、新しい艦娘との邂逅はできません。");
        }
        if (memberMaxInfo2.MaxCount - 24 <= memberMaxInfo2.NowCount)
        {
            AlertMessage.color = WarningColor;
            return("※装備保有数が上限に近いため、新しい艦娘と邂逅できない可能性があります。");
        }
        if (deck.GetShips().Any((ShipModel x) => x.FuelRate < 100.0 || x.AmmoRate < 100.0))
        {
            AlertMessage.color = WarningColor;
            return("※十分な補給を受けていない艦娘がいます。(本来の戦闘力を発揮できません)");
        }
        return(string.Empty);
    }
        public List <IsGoCondition> IsGoSortie(int deck_id, int map_id)
        {
            DeckModel            deck = base.UserInfo.GetDeck(deck_id);
            List <IsGoCondition> list = deck.IsValidSortie();

            if (deck.AreaId != this.MapArea.Id)
            {
                list.Add(IsGoCondition.AnotherArea);
            }
            if (this._maps.Find((MapModel map) => map.MstId == map_id) == null)
            {
                list.Add(IsGoCondition.Invalid);
            }
            ShipModel[]     ships       = deck.GetShips();
            HashSet <SType> sortieLimit = Utils.GetSortieLimit(map_id, true);

            if (sortieLimit != null)
            {
                for (int i = 0; i < ships.Length; i++)
                {
                    SType shipType = (SType)ships[i].ShipType;
                    if (!sortieLimit.Contains(shipType))
                    {
                        list.Add(IsGoCondition.InvalidOrganization);
                        break;
                    }
                }
            }
            if (!list.Contains(IsGoCondition.InvalidOrganization))
            {
                HashSet <SType> sortieLimit2 = Utils.GetSortieLimit(map_id, false);
                if (sortieLimit2 != null)
                {
                    for (int j = 0; j < ships.Length; j++)
                    {
                        SType shipType2 = (SType)ships[j].ShipType;
                        if (sortieLimit2.Contains(shipType2))
                        {
                            list.Add(IsGoCondition.InvalidOrganization);
                            break;
                        }
                    }
                }
            }
            return(list);
        }
Beispiel #15
0
        public bool Init(DeckModel detailDeck)
        {
            List <ShipModel> list = new List <ShipModel>(detailDeck.GetShips(this._listShipBanners.get_Count()));
            int cnt = 0;

            list.ForEach(delegate(ShipModel x)
            {
                if (x != null)
                {
                    this._listShipBanners.get_Item(cnt).SetShipData(x, detailDeck.GetShipIndex(x.MemId) + 1);
                }
                else
                {
                    this._listShipBanners.get_Item(cnt).SetShipData(x, -1);
                }
                cnt++;
            });
            return(false);
        }
Beispiel #16
0
        public static double GetSearchValue(DeckModel deck, MapBranchResult.enumScoutingKind type, DifficultKind difficulty)
        {
            double num = 0.0;

            for (int i = 0; i < deck.GetShips().Length; i++)
            {
                ShipModel            ship         = deck.GetShip(i);
                double               shipValue    = GetShipValue(ship);
                double               num2         = 0.0;
                List <SlotitemModel> slotitemList = ship.SlotitemList;
                for (int j = 0; j < slotitemList.Count; j++)
                {
                    num2 += GetSlotValue(type, slotitemList[j]);
                }
                double difficultyCorrectionValue = GetDifficultyCorrectionValue(difficulty, type);
                num += shipValue + num2 + difficultyCorrectionValue;
            }
            return(num);
        }
        public List <ShipModel> GetAreaShips(int area_id, bool use_deck, bool use_edeck, List <ShipModel> all_ships)
        {
            List <ShipModel> list         = new List <ShipModel>();
            MapAreaModel     mapAreaModel = ManagerBase._area.get_Item(area_id);

            if (use_deck)
            {
                DeckModel[] decks = mapAreaModel.GetDecks();
                DeckModel[] array = decks;
                for (int i = 0; i < array.Length; i++)
                {
                    DeckModel deckModel = array[i];
                    list.AddRange(deckModel.GetShips());
                }
            }
            if (use_edeck)
            {
                list.AddRange(mapAreaModel.GetEscortDeck().GetShips());
            }
            HashSet <int> hashSet = mapAreaModel.__GetRepairingShipMemIdsHash__();

            using (HashSet <int> .Enumerator enumerator = hashSet.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    int       current = enumerator.get_Current();
                    ShipModel ship2   = this.UserInfo.GetShip(current);
                    if (ship2.IsInDeck() == -1 && ship2.IsInEscortDeck() == -1)
                    {
                        list.Add(ship2);
                    }
                }
            }
            if (all_ships == null)
            {
                all_ships = this.UserInfo.__GetShipList__();
            }
            List <ShipModel> list2 = all_ships.FindAll((ShipModel ship) => ship.IsBlingWait() && ship.AreaIdBeforeBlingWait == area_id);

            list.AddRange(list2);
            return(list);
        }
Beispiel #18
0
    private IEnumerator OnBeginInitializeCoroutine()
    {
        mLabel_Message.text  = "表示完了";
        mLabel_Message.alpha = 0.01f;
        ShipModel[] shipModels = mDeckModel.GetShips();
        for (int index = 0; index < shipModels.Length; index++)
        {
            ShipModel ship = shipModels[index];
            mTexture_Ships[index].mainTexture = SingletonMonoBehaviour <ResourceManager> .Instance.ShipTexture.Load(ship.MstId, 1);

            mTexture_Cards[index].mainTexture = SingletonMonoBehaviour <ResourceManager> .Instance.ShipTexture.Load(ship.MstId, 3);

            yield return(null);

            mTexture_Ships[index].alpha = 0.01f;
            mTexture_Cards[index].alpha = 0.01f;
            yield return(null);
        }
        yield return(null);
    }
    public void Initialize(DeckModel deck)
    {
        mDeckModel = deck;
        ShipModel[] ships = mDeckModel.GetShips();
        UITexture[] array = mTextures_Flag;
        foreach (UITexture component in array)
        {
            component.SetActive(isActive: false);
        }
        CommonShipBanner[] array2 = mShipBannerSlots;
        foreach (CommonShipBanner commonShipBanner in array2)
        {
            commonShipBanner.StopParticle();
        }
        switch (ships.Length)
        {
        case 1:
            mShipBannerSlots[0].gameObject.SetActive(true);
            mShipBannerSlots[0].SetShipData(ships[0]);
            mTextures_Flag[0].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs");
            mTextures_Flag[0].SetActive(isActive: true);
            break;

        case 2:
            mShipBannerSlots[0].gameObject.SetActive(true);
            mShipBannerSlots[5].gameObject.SetActive(true);
            mShipBannerSlots[0].SetShipData(ships[0]);
            mShipBannerSlots[5].SetShipData(ships[1]);
            mTextures_Flag[0].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs");
            mTextures_Flag[0].SetActive(isActive: true);
            break;

        case 3:
            mShipBannerSlots[0].gameObject.SetActive(true);
            mShipBannerSlots[1].gameObject.SetActive(true);
            mShipBannerSlots[5].gameObject.SetActive(true);
            mShipBannerSlots[0].SetShipData(ships[2]);
            mShipBannerSlots[1].SetShipData(ships[0]);
            mShipBannerSlots[5].SetShipData(ships[1]);
            mTextures_Flag[1].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs");
            mTextures_Flag[1].SetActive(isActive: true);
            break;

        case 4:
            mShipBannerSlots[0].gameObject.SetActive(true);
            mShipBannerSlots[1].gameObject.SetActive(true);
            mShipBannerSlots[4].gameObject.SetActive(true);
            mShipBannerSlots[5].gameObject.SetActive(true);
            mShipBannerSlots[0].SetShipData(ships[2]);
            mShipBannerSlots[1].SetShipData(ships[0]);
            mShipBannerSlots[4].SetShipData(ships[1]);
            mShipBannerSlots[5].SetShipData(ships[3]);
            mTextures_Flag[1].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs");
            mTextures_Flag[1].SetActive(isActive: true);
            break;

        case 5:
            mShipBannerSlots[0].gameObject.SetActive(true);
            mShipBannerSlots[1].gameObject.SetActive(true);
            mShipBannerSlots[2].gameObject.SetActive(true);
            mShipBannerSlots[4].gameObject.SetActive(true);
            mShipBannerSlots[5].gameObject.SetActive(true);
            mShipBannerSlots[0].SetShipData(ships[2]);
            mShipBannerSlots[1].SetShipData(ships[0]);
            mShipBannerSlots[2].SetShipData(ships[4]);
            mShipBannerSlots[4].SetShipData(ships[1]);
            mShipBannerSlots[5].SetShipData(ships[3]);
            mTextures_Flag[1].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs");
            mTextures_Flag[1].SetActive(isActive: true);
            break;

        case 6:
            mShipBannerSlots[0].gameObject.SetActive(true);
            mShipBannerSlots[1].gameObject.SetActive(true);
            mShipBannerSlots[2].gameObject.SetActive(true);
            mShipBannerSlots[3].gameObject.SetActive(true);
            mShipBannerSlots[4].gameObject.SetActive(true);
            mShipBannerSlots[5].gameObject.SetActive(true);
            mShipBannerSlots[0].SetShipData(ships[2]);
            mShipBannerSlots[1].SetShipData(ships[0]);
            mShipBannerSlots[2].SetShipData(ships[4]);
            mShipBannerSlots[3].SetShipData(ships[5]);
            mShipBannerSlots[4].SetShipData(ships[1]);
            mShipBannerSlots[5].SetShipData(ships[3]);
            mTextures_Flag[1].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs");
            mTextures_Flag[1].SetActive(isActive: true);
            break;
        }
    }
    private IEnumerator InitailizeCoroutine(DeckModel deckModel, MissionModel missionModel, int hasTankerCount, Action callBack)
    {
        float delayStart = Time.deltaTime;

        mLabel_RequireDay.text     = missionModel.Turn.ToString();
        mLabel_RequireTanker.text  = missionModel.TankerCount.ToString();
        mLabel_HasTankerCount.text = hasTankerCount.ToString();
        ShipModel[] ships = deckModel.GetShips();
        if (missionModel.TankerMinCount <= hasTankerCount)
        {
            SettingTankerCount = missionModel.TankerMinCount;
            UpdateSettingTankerCountLabel(SettingTankerCount, isPoor: false);
        }
        else
        {
            int num = hasTankerCount - missionModel.TankerMinCount;
            UpdateSettingTankerCountLabel(SettingTankerCount, isPoor: true);
            mButton_Positive.isEnabled  = false;
            mButton_CountUp.isEnabled   = false;
            mButton_CountDown.isEnabled = false;
        }
        List <IsGoCondition> sortieCondition = new MissionManager(SingletonMonoBehaviour <AppInformation> .Instance.CurrentAreaID).IsValidMissionStart(MissionStartDeckModel.Id, MissionStartTargetModel.Id, SettingTankerCount);
        bool conditionOk        = sortieCondition.Count <= 0;
        bool otherDeckInMission = missionModel.Deck != null;

        if (conditionOk && !otherDeckInMission)
        {
            mButton_Positive.isEnabled = true;
            mLabel_Message.text        = string.Empty;
            mLabel_Message.color       = Color.black;
            mLabel_Message.alpha       = 1E-09f;
            mLabel_Message.text        = "この艦隊で遠征しますか?";
        }
        else
        {
            mButton_Positive.isEnabled = false;
            mLabel_Message.text        = string.Empty;
            mLabel_Message.color       = Color.red;
            mLabel_Message.alpha       = 1E-09f;
            mLabel_Message.text        = GoConditionToString(sortieCondition[sortieCondition.Count - 1]);
        }
        isGoCondition = conditionOk;
        yield return(new WaitForEndOfFrame());

        ChangeFocusButton(mButton_Negative);
        for (int i = 0; i < ships.Length; i++)
        {
            mUIMissionShipBanners[i].Initialize(i + 1, ships[i]);
            mUIMissionShipBanners[i].Show();
            UIUtil.AnimationOnFocus(mUIMissionShipBanners[i].transform, null);
            yield return(new WaitForSeconds(0.05f));
        }
        yield return(new WaitForEndOfFrame());

        Vector3 localPosition  = mLabel_Message.transform.localPosition;
        float   x              = localPosition.x - 50f;
        Vector3 localPosition2 = mLabel_Message.transform.localPosition;
        float   y              = localPosition2.y;
        Vector3 localPosition3 = mLabel_Message.transform.localPosition;
        Vector3 from           = new Vector3(x, y, localPosition3.z);
        Vector3 to             = mLabel_Message.transform.localPosition;

        mLabel_Message.transform.localPosition = from;
        mLabel_Message.transform.DOLocalMove(to, 0.3f);
        DOVirtual.DelayedCall(Time.deltaTime - delayStart, delegate
        {
            this.mLabel_Message.transform.DOLocalMove(to, 0.3f);
        });
        mLabel_Message.alpha = 1f;
        callBack?.Invoke();
    }