private void OnFinished() { Hashtable hashtable = new Hashtable(); MapManager mapManager = SortieBattleTaskManager.GetMapManager(); if (mapManager is SortieMapManager) { hashtable.Add("sortieMapManager", mapManager); hashtable.Add("rootType", 1); hashtable.Add("shipRecoveryType", ShipRecoveryType.None); } else { hashtable.Add("rebellionMapManager", mapManager); hashtable.Add("rootType", 1); hashtable.Add("shipRecoveryType", ShipRecoveryType.None); } if (SingletonMonoBehaviour <FadeCamera> .Instance != null) { SingletonMonoBehaviour <FadeCamera> .Instance.SetActive(true); SingletonMonoBehaviour <FadeCamera> .Instance.isDrawNowLoading = false; SingletonMonoBehaviour <FadeCamera> .Instance.FadeOut(0.2f, delegate { SingletonMonoBehaviour <AppInformation> .Instance.NextLoadScene = Generics.Scene.Strategy; Application.LoadLevel(Generics.Scene.LoadingScene.ToString()); }); } else { SingletonMonoBehaviour <AppInformation> .Instance.NextLoadScene = Generics.Scene.Strategy; Application.LoadLevel(Generics.Scene.LoadingScene.ToString()); } }
//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(); }
private void StartupUIMapManager(Transform prefabAreaMap) { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); _uiMapManager = UIMapManager.Instantiate(mapManager, (!(prefabAreaMap != null)) ? null : ((Component)prefabAreaMap).GetComponent <UIMapManager>(), _uiRoot.transform.FindChild("MapGenerator"), ((Component)_clsSortiePrefabFile.prefabUISortieShip).GetComponent <UISortieShip>()); _uiSortieMapName.SetMapInformation(mapManager); }
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); }); }
private void DecideAdvancinsWithDrawalBtn(UIHexButtonEx btn) { if (btn.index == 2) { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); mapManager.ChangeCurrentDeck(); } if (BattleTaskManager.IsSortieBattle() && SingletonMonoBehaviour <FadeCamera> .Instance != null) { SingletonMonoBehaviour <FadeCamera> .Instance.FadeOut(0.2f, delegate { RetentionData.SetData(BattleUtils.GetRetentionDataAdvancingWithdrawal(SortieBattleTaskManager.GetMapManager(), ShipRecoveryType.None)); if (btn.index == 0) { SingletonMonoBehaviour <FadeCamera> .Instance.isDrawNowLoading = false; SingletonMonoBehaviour <AppInformation> .Instance.NextLoadScene = Generics.Scene.Strategy; Application.LoadLevel(Generics.Scene.LoadingScene.ToString()); } else { SingletonMonoBehaviour <FadeCamera> .Instance.isDrawNowLoading = true; Dlg.Call <ShipRecoveryType>(ref this._actOnGotoSortieMap, ShipRecoveryType.None); } }); } }
private static bool InitRebellionBattle() { BattleFormationKinds1 formation_id = (BattleFormationKinds1)(int)RetentionData.GetData()["formation"]; _clsBattleManager = ((RebellionMapManager)SortieBattleTaskManager.GetMapManager()).BattleStart(formation_id); return(true); }
private bool InitReward(object data) { _clsState.Clear(); SortieBattleTaskManager.GetMapManager(); _clsState.AddState(InitAirRecSucccessOrFailure, UpdateAirRecSuccessOrFailure); return(false); }
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 bool _updateChkNextCell(object data) { if (!_clsMapManager.IsNextFinal()) { if (BattleTaskManager.GetRootType() == Generics.BattleRootType.Rebellion && BattleTaskManager.GetBattleManager().ChangeableDeck&& BattleTaskManager.GetBattleManager().Ships_f[0].DmgStateEnd == DamageState_Battle.Taiha && !BattleTaskManager.GetBattleManager().Ships_f[0].HasRecoverYouin() && !BattleTaskManager.GetBattleManager().Ships_f[0].HasRecoverMegami()) { BattleTaskManager.ReqPhase(BattlePhase.AdvancingWithdrawal); return(true); } if (BattleTaskManager.GetBattleManager().Ships_f[0].DmgStateEnd == DamageState_Battle.Taiha && !ShipUtils.HasRepair(_clsResultModel.Ships_f[0])) { BattleTaskManager.ReqPhase(BattlePhase.FlagshipWreck); return(true); } BattleTaskManager.ReqPhase(BattlePhase.EscortShipEvacuation); return(true); } if (SingletonMonoBehaviour <FadeCamera> .Instance != null) { SingletonMonoBehaviour <FadeCamera> .Instance.isDrawNowLoading = false; SingletonMonoBehaviour <FadeCamera> .Instance.FadeOut(0.2f, delegate { RetentionData.SetData(BattleUtils.GetRetentionDataMapOpen(SortieBattleTaskManager.GetMapManager(), _clsResultModel)); SingletonMonoBehaviour <AppInformation> .Instance.NextLoadScene = Generics.Scene.Strategy; Application.LoadLevel(Generics.Scene.LoadingScene.ToString()); }); } return(true); }
private void DrawDefaultShip() { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); _uiShipCharacter.SetShipData(mapManager.Deck.GetFlagShip()); _uiShipCharacter.DrawDefault(); }
private bool InitReward(object data) { this._clsState.Clear(); MapManager mapManager = SortieBattleTaskManager.GetMapManager(); this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitAirRecSucccessOrFailure), new StatementMachine.StatementMachineUpdate(this.UpdateAirRecSuccessOrFailure)); return(false); }
protected override bool Init() { this._clsEvents = new Events(); SortieMapTaskManager.GetUIAreaMapFrame().ClearMessage(); MapManager mapManager = SortieBattleTaskManager.GetMapManager(); this._clsEvents.Play(mapManager.NextCategory, mapManager.NextEventType, new Action <bool>(this.OnEventFinished)); return(true); }
private void UpdateUIMapManager() { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); _uiMapManager.UpdatePassedRoutesStates(mapManager); _uiMapManager.UpdateNowNNextCell(mapManager.NowCell, mapManager.NextCell); if (_uiMapManager.nowCell != null) { _uiMapManager.nowCell.isPassedCell = true; } _uiMapManager.SetShipPosition(); }
private void OnMapOpenFinished() { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); if (mapManager.GetNewOpenMapIDs() != null && mapManager.GetSPoint() > 0) { this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitGetSPoint), new StatementMachine.StatementMachineUpdate(this.UpdateGetSPoint)); } else { this.OnFinished(); } }
private void OnMapOpenFinished() { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); if (mapManager.GetNewOpenMapIDs() != null && mapManager.GetSPoint() > 0) { _clsState.AddState(InitGetSPoint, UpdateGetSPoint); } else { OnFinished(); } }
private void _onFlagshipWreckFinished() { if (BattleTaskManager.IsSortieBattle() && SingletonMonoBehaviour <FadeCamera> .Instance != null) { SingletonMonoBehaviour <FadeCamera> .Instance.isDrawNowLoading = false; SingletonMonoBehaviour <FadeCamera> .Instance.FadeOut(0.2f, delegate { RetentionData.SetData(BattleUtils.GetRetentionDataFlagshipWreck(SortieBattleTaskManager.GetMapManager(), ShipRecoveryType.None)); SingletonMonoBehaviour <AppInformation> .Instance.NextLoadScene = Generics.Scene.Strategy; Application.LoadLevel(Generics.Scene.LoadingScene.ToString()); }); } }
protected override bool Init() { _clsResultModel = BattleTaskManager.GetBattleManager().GetBattleResult(); _clsMapManager = SortieBattleTaskManager.GetMapManager(); _clsInput = BattleTaskManager.GetKeyControl(); _clsState = new StatementMachine(); if (BattleTaskManager.GetRootType() == Generics.BattleRootType.Rebellion) { if (_clsMapManager.IsNextFinal()) { if (_clsResultModel.WinRank == BattleWinRankKinds.B || _clsResultModel.WinRank == BattleWinRankKinds.A || _clsResultModel.WinRank == BattleWinRankKinds.S) { _clsState.AddState(_initThalassocracyProd, _updateThalassocracyProd); } else { _clsState.AddState(_initChkNextCell, _updateChkNextCell); } } else { _clsState.AddState(_initChkNextCell, _updateChkNextCell); } } else if (_clsResultModel.FirstAreaClear && _clsResultModel.FirstClear) { _clsState.AddState(_initThalassocracyProd, _updateThalassocracyProd); } else if (!_clsResultModel.FirstAreaClear && _clsResultModel.FirstClear) { _clsState.AddState(_initMapClearProd, _updateMapClearProd); } else if (!_clsResultModel.FirstClear && _clsResultModel.NewOpenMapIDs.Length > 0) { _clsState.AddState(_initMapOpenProd, _updateMapOpenProd); } else if (_clsResultModel.SPoint > 0) { _clsState.AddState(_initStrategyPointProd, _updateStrategyPointProd); } else if (_clsResultModel.GetAreaRewardItems() != null) { _clsState.AddState(InitShortRewardGet, UpdateShortRewardGet); } else { _clsState.AddState(_initChkNextCell, _updateChkNextCell); } return(true); }
private bool InitGetSPoint(object data) { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); if (mapManager.GetNewOpenMapIDs() != null && mapManager.GetSPoint() > 0) { this._prodStrategyPoint = ProdMapPoint.Instantiate(Resources.Load <ProdMapPoint>("Prefabs/Battle/Production/MapOpen/ProdMapOpenPoint"), SortieMapTaskManager.GetSharedPlace(), mapManager.GetSPoint()); this._prodStrategyPoint.Play(new Action(this.OnFinished)); } else { this.OnFinished(); } return(false); }
private bool InitMapOpen(object data) { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); if (mapManager.GetNewOpenMapIDs() != null) { this._prodMapOpen = ProdMapOpen.Instantiate(PrefabFile.Load <ProdMapOpen>(PrefabFileInfos.MapOpen), mapManager.GetNewOpenAreaIDs(), mapManager.GetNewOpenMapIDs(), SortieMapTaskManager.GetSharedPlace(), SortieBattleTaskManager.GetKeyControl(), 120); this._prodMapOpen.Play(new Action(this.OnMapOpenFinished)); } else { this.OnMapOpenFinished(); } return(false); }
private IEnumerator PlayPortBackEo(UniRx.IObserver <bool> observer) { SortieBattleTaskManager.GetMapManager(); UISortieShip uiss = SortieMapTaskManager.GetUIMapManager().sortieShip; MapEventItemModel meim = SortieBattleTaskManager.GetMapManager().GetItemEvent(); yield return(new WaitForSeconds(1.5f)); uiss.PlayBalloon(meim, delegate { throw new NotImplementedException("なにこれ"); // base.observer.OnNext(value: true); // base.observer.OnCompleted(); }); }
private void OnEventFinished(bool isBattle) { if (isBattle) { SortieMapTaskManager.ReqMode(SortieMapTaskManagerMode.Formation); return; } MapManager mapManager = SortieBattleTaskManager.GetMapManager(); if (!mapManager.IsNextFinal()) { Dlg.Call(ref _actOnGoNext, ShipRecoveryType.None); } else { SortieMapTaskManager.ReqMode(SortieMapTaskManagerMode.Result); } }
private void GoNext(ShipRecoveryType iRecoveryType) { MapManager mm = SortieBattleTaskManager.GetMapManager(); if (mm.GetNextCellCandidate().Count != 0) { Instance._ctrlActiveBranching = new CtrlActiveBranching(mm.GetNextCellCandidate(), delegate(int x) { mm.GoNext(iRecoveryType, x); Instance.UpdateUIMapManager(); ReqMode(SortieMapTaskManagerMode.SortieMapTaskManagerMode_ST); Mem.DelIDisposableSafe(ref Instance._ctrlActiveBranching); }); return; } mm.GoNext(iRecoveryType); Instance.UpdateUIMapManager(); ReqMode(SortieMapTaskManagerMode.SortieMapTaskManagerMode_ST); }
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()); } }
private bool IsAnyLinkCellPassed(List <int> linkList) { bool result = false; if (linkList.Count != 0) { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); { foreach (int link in linkList) { if (mapManager.Cells[link].Passed) { return(true); } } return(result); } } return(result); }
private IEnumerator ShipMove(UniRx.IObserver <bool> observer) { MapManager manager = SortieBattleTaskManager.GetMapManager(); UIMapManager uiMapManager = SortieMapTaskManager.GetUIMapManager(); UISortieShip sortieShip = uiMapManager.sortieShip; UniRx.IObservable <Unit> underwayReplenishmentUnit = Observable.FromCoroutine(() => this.ChkUnderwayReplenishment(manager)); UniRx.IObservable <Unit> compassUnit = Observable.FromCoroutine(() => this.ChkCompass(manager, uiMapManager, sortieShip)); UniRx.IObservable <Unit> productionUnit = Observable.FromCoroutine(() => this.ChkProduction(manager, uiMapManager, sortieShip)); UniRx.IObservable <Unit> synthesisUnit = Observable.SelectMany(other: Observable.FromCoroutine(() => this.ChkComment(manager, sortieShip)), source: underwayReplenishmentUnit.SelectMany(compassUnit).SelectMany(productionUnit)); yield return(synthesisUnit.StartAsCoroutine()); CheckNextBossCell(manager); sortieShip.Move(uiMapManager.nextCell, delegate { uiMapManager.UpdateRouteState(uiMapManager.nextCell.cellModel.CellNo); observer.OnNext(value: true); observer.OnCompleted(); }); yield return(null); }
private void GoNext(ShipRecoveryType iRecoveryType) { MapManager mm = SortieBattleTaskManager.GetMapManager(); if (mm.GetNextCellCandidate().get_Count() != 0) { SortieMapTaskManager.Instance._ctrlActiveBranching = new CtrlActiveBranching(mm.GetNextCellCandidate(), delegate(int x) { mm.GoNext(iRecoveryType, x); SortieMapTaskManager.Instance.UpdateUIMapManager(); SortieMapTaskManager.ReqMode(SortieMapTaskManagerMode.SortieMapTaskManagerMode_ST); Mem.DelIDisposableSafe <CtrlActiveBranching>(ref SortieMapTaskManager.Instance._ctrlActiveBranching); }); } else { mm.GoNext(iRecoveryType); SortieMapTaskManager.Instance.UpdateUIMapManager(); SortieMapTaskManager.ReqMode(SortieMapTaskManagerMode.SortieMapTaskManagerMode_ST); } }
private bool IsAnyLinkCellPassed(List <int> linkList) { bool result = false; if (linkList.get_Count() != 0) { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); using (List <int> .Enumerator enumerator = linkList.GetEnumerator()) { while (enumerator.MoveNext()) { int current = enumerator.get_Current(); if (mapManager.Cells[current].Passed) { result = true; break; } } } } return(result); }
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(); UISortieShip uiss = uimm.sortieShip; UIAreaMapFrame uiamf = SortieMapTaskManager.GetUIAreaMapFrame(); uiamf.SetMessage(_clsEventModel.AircraftType); Transform airRecPoint = null; if (uimm.airRecPoint.ContainsKey(uimm.nextCell.cellModel.CellNo)) { airRecPoint = uimm.airRecPoint[uimm.nextCell.cellModel.CellNo]; } bool isWait2 = true; uiss.PlayAirReconnaissance(_clsEventModel.AircraftType, uiss.transform, airRecPoint, delegate { throw new NotImplementedException("なにこれ"); // base._003CisWait_003E__4 = false; }); while (isWait2) { yield return(null); } isWait2 = true; uiss.PlayBalloon(_clsEventModel, SortieBattleTaskManager.GetMapManager().GetItemEvent(), delegate { throw new NotImplementedException("なにこれ"); // base._003CisWait_003E__4 = false; }); while (isWait2) { yield return(null); } uiamf.ClearMessage(); observer.OnNext(value: true); observer.OnCompleted(); }
private void DecideAdvancinsWithDrawalBtn(UIHexButton btn) { if (BattleTaskManager.IsSortieBattle()) { SingletonMonoBehaviour <AppInformation> .Instance.NextLoadScene = ((btn.index != 0) ? Generics.Scene.SortieAreaMap : Generics.Scene.Strategy); SingletonMonoBehaviour <FadeCamera> .Instance.isDrawNowLoading = ((SingletonMonoBehaviour <AppInformation> .Instance.NextLoadScene == Generics.Scene.SortieAreaMap) ? true : false); SingletonMonoBehaviour <FadeCamera> .Instance.FadeOut(0.2f, delegate { if (btn.index == 1) { TrophyUtil.Unlock_At_GoNext(); RetentionData.SetData(BattleUtils.GetRetentionDataAdvancingWithdrawalDC(SortieBattleTaskManager.GetMapManager(), ShipRecoveryType.Personnel)); Dlg.Call(ref _actOnGotoSortieMap, ShipRecoveryType.Personnel); } else if (btn.index == 2) { TrophyUtil.Unlock_At_GoNext(); RetentionData.SetData(BattleUtils.GetRetentionDataAdvancingWithdrawalDC(SortieBattleTaskManager.GetMapManager(), ShipRecoveryType.Goddes)); Dlg.Call(ref _actOnGotoSortieMap, ShipRecoveryType.Goddes); } else if (btn.index == 3) { MapManager mapManager = SortieBattleTaskManager.GetMapManager(); mapManager.ChangeCurrentDeck(); RetentionData.SetData(BattleUtils.GetRetentionDataAdvancingWithdrawalDC(mapManager, ShipRecoveryType.None)); Dlg.Call(ref _actOnGotoSortieMap, ShipRecoveryType.None); } else { RetentionData.SetData(BattleUtils.GetRetentionDataAdvancingWithdrawalDC(SortieBattleTaskManager.GetMapManager(), ShipRecoveryType.None)); SingletonMonoBehaviour <AppInformation> .Instance.NextLoadScene = Generics.Scene.Strategy; Application.LoadLevel(Generics.Scene.LoadingScene.ToString()); } }); } }