示例#1
0
        //protected override IEnumerator AnimationObserver(IObserver<bool> observer)
        protected IEnumerator AnimationObserver(UniRx.IObserver <bool> observer)
        {
            MapManager            mm    = SortieBattleTaskManager.GetMapManager();
            UIMapManager          uimm  = SortieMapTaskManager.GetUIMapManager();
            UIAreaMapFrame        uiamf = SortieMapTaskManager.GetUIAreaMapFrame();
            UISortieShipCharacter uissc = SortieMapTaskManager.GetUIShipCharacter();
            bool   isShipWait           = true;
            bool   isItemGetWait        = true;
            string empty = string.Empty;
            string str   = (!_clsEventItemModel.IsMaterial()) ? $"{SortieUtils.ConvertItem2String(_clsEventItemModel.ItemID)}x{_clsEventItemModel.Count.ToString()}\nを入手しました!" : $"{SortieUtils.ConvertMatCategory2String(_clsEventItemModel.MaterialCategory)}x{_clsEventItemModel.Count.ToString()}\nを入手しました!";

            uiamf.SetMessage(str);
            yield return(null);

            uissc.SetShipData(GetTargetShip(mm.Deck));
            uissc.ShowInItemGet(delegate
            {
                throw new NotImplementedException("なにこれ");
                // base._003CisShipWait_003E__4 = false;
            });
            uissc.SetInDisplayNextMove(isInDisplay: false);
            uimm.sortieShip.PlayGetMaterialOrItem(_clsEventItemModel, delegate
            {
                throw new NotImplementedException("なにこれ");
                // base._003Cuiamf_003E__2.ClearMessage();
                // base._003CisItemGetWait_003E__5 = false;
            });
            while (isShipWait || isItemGetWait)
            {
                yield return(null);
            }
            observer.OnNext(value: true);
            observer.OnCompleted();
        }
示例#2
0
        protected override bool Init()
        {
            UISortieShipCharacter uIShipCharacter = SortieMapTaskManager.GetUIShipCharacter();

            uIShipCharacter.SetShipData(SortieBattleTaskManager.GetMapManager().Deck.GetFlagShip());
            TutorialModel tutorial = SortieBattleTaskManager.GetMapManager().UserInfo.Tutorial;

            if (SortieBattleTaskManager.GetMapManager().UserInfo.StartMapCount >= 5)
            {
                SingletonMonoBehaviour <TutorialGuideManager> .Instance.CheckAndShowFirstTutorial(tutorial, TutorialGuideManager.TutorialID.BattleShortCutInfo, null, delegate
                {
                    _disShipMoveObserver = Observable.FromCoroutine((UniRx.IObserver <bool> observer) => ShipMove(observer)).Subscribe(delegate
                    {
                        SortieMapTaskManager.ReqMode(SortieMapTaskManagerMode.Event);
                    });
                });
            }
            else
            {
                _disShipMoveObserver = Observable.FromCoroutine((UniRx.IObserver <bool> observer) => ShipMove(observer)).Subscribe(delegate
                {
                    SortieMapTaskManager.ReqMode(SortieMapTaskManagerMode.Event);
                });
            }
            return(true);
        }
        private void OnFormationSelected(BattleFormationKinds1 iFormation)
        {
            SortieMapTaskManager.GetUIShipCharacter().Hide(null);
            SortieMapTaskManager.GetUIAreaMapFrame().Hide();
            ProdSortieTransitionToBattle prodSortieTransitionToBattle = SortieBattleTaskManager.GetSortieBattlePrefabFile().prodSortieTransitionToBattle;

            SortieBattleTaskManager.GetTransitionCamera().enabled = true;
            prodSortieTransitionToBattle.Play(delegate
            {
                Hashtable hashtable = new Hashtable();
                if (SortieBattleTaskManager.GetMapManager().GetType().Equals(typeof(RebellionMapManager)))
                {
                    hashtable.Add("rootType", Generics.BattleRootType.Rebellion);
                    hashtable.Add("rebellionMapManager", SortieBattleTaskManager.GetMapManager());
                }
                else
                {
                    hashtable.Add("rootType", Generics.BattleRootType.SortieMap);
                    hashtable.Add("sortieMapManager", SortieBattleTaskManager.GetMapManager());
                }
                hashtable.Add("formation", iFormation);
                RetentionData.SetData(hashtable);
                SortieBattleTaskManager.ReqMode(SortieBattleMode.Battle);
            });
        }
示例#4
0
        protected override IEnumerator AnimationObserver(UniRx.IObserver <bool> observer)
        {
            UIMapManager          uimm  = SortieMapTaskManager.GetUIMapManager();
            UIAreaMapFrame        uiamf = SortieMapTaskManager.GetUIAreaMapFrame();
            UISortieShipCharacter uissc = SortieMapTaskManager.GetUIShipCharacter();
            bool isWait = true;

            uissc.SetInDisplayNextMove(isInDisplay: false);
            uiamf.SetMessage("艦隊の前方にうずしおが発生しました!");
            yield return(Observable.NextFrame(FrameCountType.EndOfFrame).StartAsCoroutine());

            uimm.nextCell.PlayMailstrom(uimm.sortieShip, _clsEventHappeningModel, delegate
            {
                base._003CisWait_003E__3 = false;
            });
            while (isWait)
            {
                yield return(null);
            }
            uiamf.SetMessage(string.Format((!_clsEventHappeningModel.Dentan) ? "{0}x{1}を\n落としてしまいました…。" : "{0}x{1}を\n落としてしまいました…。\n(電探が役立って、被害を抑えられた!)", SortieUtils.ConvertMatCategory2String(_clsEventHappeningModel.Material), _clsEventHappeningModel.Count));
            yield return(Observable.Timer(TimeSpan.FromSeconds(2.0)).StartAsCoroutine());

            uiamf.ClearMessage();
            observer.OnNext(value: true);
            observer.OnCompleted();
        }
示例#5
0
        private IEnumerator ChkUnderwayReplenishment(MapManager manager)
        {
            if (manager.GetMapSupplyInfo() != null)
            {
                ProdUnderwayReplenishment pur = ProdUnderwayReplenishment.Instantiate(((Component)SortieMapTaskManager.GetPrefabFile().prefabProdUnderwayReplenishment).GetComponent <ProdUnderwayReplenishment>(), SortieMapTaskManager.GetSharedPlace(), manager.GetMapSupplyInfo());
                yield return(pur.Play().StartAsCoroutine());

                Mem.DelComponentSafe(ref pur);
                yield break;
            }
            MapManager            mm    = SortieBattleTaskManager.GetMapManager();
            UISortieShipCharacter uissc = SortieMapTaskManager.GetUIShipCharacter();

            if (uissc.isInDisplay)
            {
                uissc.SetShipData(mm.Deck.GetFlagShip());
                uissc.Show(null);
                yield return(Observable.Timer(TimeSpan.FromSeconds(2.0)).StartAsCoroutine());
            }
        }
        protected override bool Init()
        {
            App.TimeScale(1f);
            UIShortCutSwitch shortCutSwitch = SortieMapTaskManager.GetShortCutSwitch();

            shortCutSwitch.Hide();
            SortieMapTaskManager.GetUIShipCharacter().ShowInFormation(50, null);
            BattleFormationKinds1[] formationArray = SortieUtils.GetFormationArray(SortieBattleTaskManager.GetMapManager().Deck);
            if (1 < formationArray.Length)
            {
                _uiBattleFormationSelector = Util.Instantiate(SortieMapTaskManager.GetPrefabFile().prefabUIBattleFormationKindSelectManager.gameObject, SortieMapTaskManager.GetSharedPlace().gameObject).GetComponent <UIBattleFormationKindSelectManager>();
                SortieMapTaskManager.GetUIAreaMapFrame().SetMessage("陣形を選択してください。");
                _uiBattleFormationSelector.Initialize(GameObject.Find("SortieAreaCamera").GetComponent <Camera>(), formationArray);
                _uiBattleFormationSelector.SetOnUIBattleFormationKindSelectManagerAction(UIBattleFormationKindSelectManagerActionCallBack);
                _uiBattleFormationSelector.SetKeyController(SortieBattleTaskManager.GetKeyControl());
            }
            else
            {
                OnFormationSelected(BattleFormationKinds1.TanJuu);
            }
            return(true);
        }