//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(); }
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); }
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(); }