示例#1
0
        protected override void OnAwake(PlayerActor player)
        {
            Singleton <Input> .Instance.ReserveState(Input.ValidType.UI);

            Singleton <Input> .Instance.SetupState();

            MapUIContainer.SetVisibleHUDExceptStoryUI(false);
            MapUIContainer.StorySupportUI.Close();
            MapUIContainer.RefreshCommands(0, player.WarpCommandInfos);
            MapUIContainer.CommandList.CancelEvent = (Action)(() => player.CancelWarp());
            MapUIContainer.SetActiveCommandList(true, "ワープ");
        }
示例#2
0
 private void OnStart(PlayerActor player)
 {
     Singleton <Manager.Map> .Instance.AccessDeviceID = player.CurrentDevicePoint.ID;
     MapUIContainer.RefreshCommands(0, player.DeviceCommandInfos);
     MapUIContainer.CommandList.CancelEvent = (Action)(() =>
     {
         Singleton <Resources> .Instance.SoundPack.Play(SoundPack.SystemSE.Cancel);
         Singleton <Manager.Map> .Instance.AccessDeviceID = -1;
         MapUIContainer.SetActiveCommandList(false);
         MapUIContainer.SetVisibleHUDExceptStoryUI(true);
         MapUIContainer.StorySupportUI.Open();
         player.Controller.ChangeState("Normal");
         player.CurrentDevicePoint = (DevicePoint)null;
     });
     MapUIContainer.SetActiveCommandList(true, "データ端末");
 }
示例#3
0
        protected override void OnAwake(PlayerActor player)
        {
            Singleton <Input> .Instance.ReserveState(Input.ValidType.UI);

            Singleton <Input> .Instance.SetupState();

            MapUIContainer.SetVisibleHUDExceptStoryUI(false);
            MapUIContainer.StorySupportUI.Close();
            if (MapUIContainer.OpenOnceTutorial(2, false))
            {
                MapUIContainer.TutorialUI.ClosedEvent = (Action)(() => this.OnStart(player));
            }
            else
            {
                this.OnStart(player);
            }
        }
示例#4
0
        protected override void OnAwake(PlayerActor player)
        {
            Singleton <Input> .Instance.ReserveState(Input.ValidType.UI);

            Singleton <Input> .Instance.SetupState();

            MapUIContainer.SetVisibleHUDExceptStoryUI(false);
            MapUIContainer.StorySupportUI.Close();
            MapUIContainer.RefreshCommands(0, player.BaseCommandInfos);
            MapUIContainer.CommandList.CancelEvent = (Action)(() =>
            {
                MapUIContainer.SetActiveCommandList(false);
                MapUIContainer.SetVisibleHUDExceptStoryUI(true);
                MapUIContainer.StorySupportUI.Open();
                player.Controller.ChangeState("Normal");
            });
            MapUIContainer.SetActiveCommandList(true, "拠点");
        }
示例#5
0
 private void StartChange(PlayerActor player)
 {
     ObservableExtensions.Subscribe <Unit>(Observable.Take <Unit>((IObservable <M0>) this._onEndFadeIn, 1), (Action <M0>)(_ =>
     {
         this.Refresh(player);
         ObservableExtensions.Subscribe <Unit>(Observable.Take <Unit>((IObservable <M0>) this._onEndFadeOut, 1), (Action <M0>)(__ =>
         {
             player.CurrentDevicePoint = (DevicePoint)null;
             MapUIContainer.SetVisibleHUDExceptStoryUI(true);
             MapUIContainer.StorySupportUI.Open();
             player.Controller.ChangeState("Normal");
             Singleton <Input> .Instance.ReserveState(Input.ValidType.Action);
             Singleton <Input> .Instance.SetupState();
             player.SetScheduledInteractionState(true);
             player.ReleaseInteraction();
         }));
         ObservableExtensions.Subscribe <long>((IObservable <M0>)Observable.Timer(TimeSpan.FromMilliseconds(100.0)), (Action <M0>)(__ => ObservableExtensions.Subscribe <Unit>((IObservable <M0>)MapUIContainer.StartFade(FadeCanvas.PanelType.Blackout, (global::FadeType)1, 1f, false), (Action <M0>)(___ => {}), (Action)(() => this._onEndFadeOut.OnNext(Unit.get_Default())))));
     }));
     ObservableExtensions.Subscribe <Unit>((IObservable <M0>)MapUIContainer.StartFade(FadeCanvas.PanelType.Blackout, (global::FadeType)0, 1f, true), (Action <M0>)(_ => {}), (Action)(() => this._onEndFadeIn.OnNext(Unit.get_Default())));
 }
示例#6
0
 private void OnStart(PlayerActor player)
 {
     MapUIContainer.RefreshCommands(0, player.CookCommandInfos);
     MapUIContainer.CommandList.CancelEvent = (Action)(() =>
     {
         Singleton <Resources> .Instance.SoundPack.Play(SoundPack.SystemSE.Cancel);
         MapUIContainer.SetActiveCommandList(false);
         MapUIContainer.SetVisibleHUDExceptStoryUI(true);
         MapUIContainer.StorySupportUI.Open();
         player.Controller.ChangeState("Normal");
         player.ReleaseCurrentPoint();
         if (Object.op_Inequality((Object)player.PlayerController.CommandArea, (Object)null))
         {
             ((Behaviour)player.PlayerController.CommandArea).set_enabled(true);
         }
         MapUIContainer.SetCommandLabelAcception(CommandLabel.AcceptionState.InvokeAcception);
         player.ActivateNavMeshAgent();
         player.IsKinematic = false;
     });
     MapUIContainer.SetActiveCommandList(true, "料理");
 }
示例#7
0
 private void OnStart(PlayerActor player)
 {
     MapUIContainer.RefreshCommands(0, player.CoSleepCommandInfos);
     MapUIContainer.CommandList.CancelEvent = (System.Action)(() =>
     {
         Singleton <Resources> .Instance.SoundPack.Play(SoundPack.SystemSE.Cancel);
         player.CancelCommand();
         MapUIContainer.SetVisibleHUDExceptStoryUI(true);
         MapUIContainer.StorySupportUI.Open();
     });
     MapUIContainer.SetActiveCommandList(true, "睡眠");
     this._onEndActionDisposable = ObservableExtensions.Subscribe <Unit>(Observable.Take <Unit>((IObservable <M0>) this._onEndAction, 1), (System.Action <M0>)(_ =>
     {
         Dictionary <int, Dictionary <int, Dictionary <int, PlayState> > > playerActionAnimTable = Singleton <Resources> .Instance.Animation.PlayerActionAnimTable;
         PoseKeyPair wakeupPoseId = Singleton <Resources> .Instance.PlayerProfile.PoseIDData.WakeupPoseID;
         PlayState info           = playerActionAnimTable[(int)player.ChaControl.sex][wakeupPoseId.postureID][wakeupPoseId.poseID];
         player.Animation.StopAllAnimCoroutine();
         player.Animation.InitializeStates(info);
         player.SetStand(player.Animation.RecoveryPoint, info.MainStateInfo.InStateInfo.EnableFade, info.MainStateInfo.InStateInfo.FadeSecond, 0);
         player.Animation.PlayInAnimation(info.MainStateInfo.InStateInfo.EnableFade, info.MainStateInfo.InStateInfo.FadeSecond, info.MainStateInfo.FadeOutTime, info.Layer);
         player.CameraControl.Mode = CameraMode.Normal;
         player.CameraControl.RecoverShotType();
         player.CameraControl.EnabledInput = true;
     }));
     this._onEndInAnimDisposable = ObservableExtensions.Subscribe <Unit>(Observable.Take <Unit>((IObservable <M0>) this._onEndInAnim, 1), (System.Action <M0>)(_ =>
     {
         ActorAnimInfo animInfo = player.Animation.AnimInfo;
         player.SetStand(player.Animation.RecoveryPoint, animInfo.endEnableBlend, animInfo.endBlendSec, animInfo.directionType);
         player.Animation.RefsActAnimInfo = true;
         player.Controller.ChangeState("Normal");
         player.ReleaseCurrentPoint();
         if (Object.op_Inequality((Object)player.PlayerController.CommandArea, (Object)null))
         {
             ((Behaviour)player.PlayerController.CommandArea).set_enabled(true);
         }
         MapUIContainer.SetCommandLabelAcception(CommandLabel.AcceptionState.InvokeAcception);
         player.ActivateNavMeshAgent();
         player.IsKinematic = false;
     }));
 }
        public void OpenModeMenu(SystemMenuUI.MenuMode mode)
        {
            switch (mode + 1)
            {
            case SystemMenuUI.MenuMode.Status:
                this._homeMenu.UsageRestriction();
                this._homeMenu.IsActiveControl = true;
                break;

            case SystemMenuUI.MenuMode.Inventory:
                this._statusUI.IsActiveControl = true;
                break;

            case SystemMenuUI.MenuMode.Map:
                this._inventoryUI.IsActiveControl = true;
                break;

            case SystemMenuUI.MenuMode.Craft:
                this.Visible = false;
                Singleton <MapUIContainer> .Instance.MinimapUI.OpenAllMap(-1);

                Singleton <MapUIContainer> .Instance.MinimapUI.FromHomeMenu = true;
                int prevMapVisibleMode = Singleton <MapUIContainer> .Instance.MinimapUI.VisibleMode;
                Singleton <MapUIContainer> .Instance.MinimapUI.VisibleMode        = 1;
                Singleton <MapUIContainer> .Instance.MinimapUI.AllMapClosedAction = (Action)(() =>
                {
                    this.Visible = true;
                    this.OpenModeMenu(SystemMenuUI.MenuMode.Home);
                    Singleton <MapUIContainer> .Instance.MinimapUI.AllMapClosedAction = (Action)null;
                    bool miniMap = Manager.Config.GameData.MiniMap;
                    if (prevMapVisibleMode != 0 || !miniMap)
                    {
                        return;
                    }
                    Singleton <MapUIContainer> .Instance.MinimapUI.OpenMiniMap();
                });
                Singleton <MapUIContainer> .Instance.MinimapUI.WarpProc = (MiniMapControler.OnWarp)(x =>
                {
                    string prevStateName = Singleton <Manager.Map> .Instance.Player.PlayerController.PrevStateName;
                    Singleton <MapUIContainer> .Instance.MinimapUI.AllMapClosedAction = (Action)(() => {});
                    Singleton <Manager.Map> .Instance.WarpToBasePoint(x, (Action)(() =>
                    {
                        this.IsActiveControl = false;
                        if (prevStateName == "Onbu")
                        {
                            Singleton <Manager.Map> .Instance.Player.Controller.ChangeState("Onbu");
                        }
                        else
                        {
                            Singleton <Manager.Map> .Instance.Player.Controller.ChangeState("Normal");
                        }
                        Singleton <Manager.Map> .Instance.Player.Controller.ChangeState("Idle");
                        GC.Collect();
                        bool miniMap = Manager.Config.GameData.MiniMap;
                        if (prevMapVisibleMode != 0 || !miniMap)
                        {
                            return;
                        }
                        Singleton <MapUIContainer> .Instance.MinimapUI.OpenMiniMap();
                    }), (Action)(() =>
                    {
                        if (prevStateName == "Onbu")
                        {
                            Singleton <Manager.Map> .Instance.Player.Controller.ChangeState("Onbu");
                        }
                        else
                        {
                            Singleton <Manager.Map> .Instance.Player.Controller.ChangeState("Normal");
                        }
                        Singleton <Input> .Instance.ReserveState(Input.ValidType.Action);
                        Singleton <Input> .Instance.SetupState();
                        Singleton <Manager.Map> .Instance.Player.SetScheduledInteractionState(true);
                        Singleton <Manager.Map> .Instance.Player.ReleaseInteraction();
                    }));
                    Singleton <MapUIContainer> .Instance.MinimapUI.WarpProc = (MiniMapControler.OnWarp)null;
                });
                break;

            case SystemMenuUI.MenuMode.Camera:
                this.Visible = false;
                MapUIContainer.SetActiveCraftUI(true);
                MapUIContainer.CraftUI.Observer = this;
                MapUIContainer.CraftUI.OnClose  = (Action)(() =>
                {
                    this.Visible = true;
                    this.OpenModeMenu(SystemMenuUI.MenuMode.Home);
                    MapUIContainer.CraftUI.OnClose = (Action)null;
                });
                break;

            case SystemMenuUI.MenuMode.Call:
                Singleton <Manager.Map> .Instance.Player.PlayerController.ChangeState("Photo");

                Action onClose1 = this.OnClose;
                if (onClose1 == null)
                {
                    break;
                }
                onClose1();
                break;

            case SystemMenuUI.MenuMode.Help:
                Singleton <Manager.Map> .Instance.Player.CallProc();

                Action onClose2 = this.OnClose;
                if (onClose2 == null)
                {
                    break;
                }
                onClose2();
                break;

            case SystemMenuUI.MenuMode.Log:
                this.Visible = false;
                MapUIContainer.TutorialUI.ClosedEvent = (Action)(() =>
                {
                    this.Visible = true;
                    MapUIContainer.SetVisibleHUDExceptStoryUI(true);
                    this.OpenModeMenu(SystemMenuUI.MenuMode.Home);
                });
                MapUIContainer.SetVisibleHUDExceptStoryUI(false);
                MapUIContainer.TutorialUI.SetCondition(-1, true);
                MapUIContainer.SetActiveTutorialUI(true);
                break;

            case SystemMenuUI.MenuMode.Save:
                this.Visible = false;
                MapUIContainer.GameLogUI.IsActiveControl = true;
                MapUIContainer.GameLogUI.OnClosed        = (Action)(() =>
                {
                    this.Visible = true;
                    this.OpenModeMenu(SystemMenuUI.MenuMode.Home);
                    MapUIContainer.GameLogUI.OnClosed = (Action)null;
                });
                break;

            case SystemMenuUI.MenuMode.InventoryEnter:
                this.Visible = false;
                if (this._charasEntry == null || this._charasEntry.Length != Manager.Config.GraphicData.CharasEntry.Length)
                {
                    this._charasEntry = new bool[Manager.Config.GraphicData.CharasEntry.Length];
                }
                for (int index = 0; index < this._charasEntry.Length; ++index)
                {
                    this._charasEntry[index] = Manager.Config.GraphicData.CharasEntry[index];
                }
                ConfigWindow.UnLoadAction = (Action)(() =>
                {
                    if (!MapScene.EqualsSequence(this._charasEntry, Manager.Config.GraphicData.CharasEntry))
                    {
                        bool interactable = this._canvasGroup.get_interactable();
                        this._canvasGroup.set_interactable(true);
                        Singleton <Manager.Map> .Instance.ApplyConfig((Action)null, (Action)(() =>
                        {
                            this._canvasGroup.set_interactable(interactable);
                            this.Visible = true;
                            this.OpenModeMenu(SystemMenuUI.MenuMode.Home);
                        }));
                    }
                    else
                    {
                        this.Visible = true;
                        this.OpenModeMenu(SystemMenuUI.MenuMode.Home);
                    }
                });
                ConfigWindow.TitleChangeAction = (Action)(() =>
                {
                    ConfigWindow.UnLoadAction = (Action)null;
                    Singleton <Game> .Instance.Config.timeScaleChange = 1f;
                    Singleton <Game> .Instance.Dialog.TimeScale = 1f;
                });
                Singleton <Game> .Instance.LoadConfig();

                break;

            case SystemMenuUI.MenuMode.Craft | SystemMenuUI.MenuMode.Save:
                this._inventoryEnterUI.IsActiveControl = true;
                break;
            }
        }
示例#9
0
        protected override void OnAwake(PlayerActor player)
        {
            player.EventKey = AIProject.EventType.Sleep;
            player.SetActiveOnEquipedItem(false);
            player.ChaControl.setAllLayerWeight(0.0f);
            Singleton <Manager.Input> .Instance.ReserveState(Manager.Input.ValidType.UI);

            Singleton <Manager.Input> .Instance.SetupState();

            MapUIContainer.SetVisibleHUDExceptStoryUI(false);
            MapUIContainer.StorySupportUI.Close();
            ObservableExtensions.Subscribe <long>((IObservable <M0>)Observable.Timer(TimeSpan.FromMilliseconds(1000.0)), (System.Action <M0>)(_ => this.OnStart(player)));
            int eventID = (int)AIProject.Definitions.Action.NameTable[AIProject.EventType.Sleep].Item1;
            DateActionPointInfo apInfo;

            player.CurrentPoint.TryGetPlayerDateActionPointInfo(player.ChaControl.sex, AIProject.EventType.Sleep, out apInfo);
            int poseIda = apInfo.poseIDA;

            player.PoseID = poseIda;
            int        index = poseIda;
            Transform  t1    = ((Component)player.CurrentPoint).get_transform().FindLoop(apInfo.baseNullNameA)?.get_transform() ?? ((Component)player.CurrentPoint).get_transform();
            Transform  t2    = ((Component)player.CurrentPoint).get_transform().FindLoop(apInfo.baseNullNameB)?.get_transform() ?? ((Component)player.CurrentPoint).get_transform();
            GameObject loop1 = ((Component)player.CurrentPoint).get_transform().FindLoop(apInfo.recoveryNullNameA);

            player.Animation.RecoveryPoint = loop1?.get_transform();
            GameObject     loop2      = ((Component)player.CurrentPoint).get_transform().FindLoop(apInfo.recoveryNullNameB);
            ActorAnimation animation  = player.Partner.Animation;
            Transform      transform1 = loop2?.get_transform();

            player.Partner.Animation.RecoveryPoint = transform1;
            Transform transform2 = transform1;

            animation.RecoveryPoint = transform2;
            PlayState playState1 = Singleton <Resources> .Instance.Animation.PlayerActionAnimTable[(int)player.ChaControl.sex][eventID][index];

            player.Animation.LoadEventKeyTable(eventID, apInfo.poseIDA);
            player.LoadEventItems(playState1);
            player.LoadEventParticles(eventID, apInfo.poseIDA);
            player.Animation.InitializeStates(playState1);
            Actor partner = player.Partner;

            partner.Animation.LoadEventKeyTable(eventID, apInfo.poseIDB);
            PlayState playState2 = Singleton <Resources> .Instance.Animation.AgentActionAnimTable[eventID][apInfo.poseIDB];

            partner.LoadEventItems(playState2);
            partner.LoadEventParticles(eventID, apInfo.poseIDB);
            partner.Animation.InitializeStates(playState2);
            ActorAnimInfo actorAnimInfo1 = new ActorAnimInfo()
            {
                layer          = playState1.Layer,
                inEnableBlend  = playState1.MainStateInfo.InStateInfo.EnableFade,
                inBlendSec     = playState1.MainStateInfo.InStateInfo.FadeSecond,
                outEnableBlend = playState1.MainStateInfo.OutStateInfo.EnableFade,
                outBlendSec    = playState1.MainStateInfo.OutStateInfo.FadeSecond,
                directionType  = playState1.DirectionType,
                isLoop         = playState1.MainStateInfo.IsLoop
            };

            player.Partner.Animation.AnimInfo = actorAnimInfo1;
            ActorAnimInfo actorAnimInfo2 = actorAnimInfo1;

            player.Animation.AnimInfo = actorAnimInfo2;
            ActorAnimInfo actorAnimInfo3 = actorAnimInfo2;
            ActorAnimInfo actorAnimInfo4 = new ActorAnimInfo()
            {
                layer          = playState2.Layer,
                inEnableBlend  = playState2.MainStateInfo.InStateInfo.EnableFade,
                inBlendSec     = playState2.MainStateInfo.InStateInfo.FadeSecond,
                outEnableBlend = playState2.MainStateInfo.OutStateInfo.EnableFade,
                outBlendSec    = playState2.MainStateInfo.OutStateInfo.FadeSecond,
                directionType  = playState2.DirectionType,
                isLoop         = playState2.MainStateInfo.IsLoop,
                loopMinTime    = playState1.MainStateInfo.LoopMin,
                loopMaxTime    = playState1.MainStateInfo.LoopMax,
                hasAction      = playState1.ActionInfo.hasAction
            };

            partner.Animation.AnimInfo = actorAnimInfo4;
            ActorAnimInfo actorAnimInfo5 = actorAnimInfo4;

            player.DeactivateNavMeshAgent();
            player.IsKinematic = true;
            partner.SetActiveOnEquipedItem(false);
            partner.ChaControl.setAllLayerWeight(0.0f);
            partner.DeactivateNavMeshAgent();
            partner.IsKinematic = true;
            this._hasAction     = playState1.ActionInfo.hasAction;
            if (this._hasAction)
            {
                this._loopStateName     = playState1.MainStateInfo.InStateInfo.StateInfos.GetElement <PlayState.Info>(playState1.MainStateInfo.InStateInfo.StateInfos.Length - 1).stateName;
                this._randomCount       = playState1.ActionInfo.randomCount;
                this._oldNormalizedTime = 0.0f;
            }
            player.Animation.PlayInAnimation(actorAnimInfo3.inEnableBlend, actorAnimInfo3.inBlendSec, playState1.MainStateInfo.FadeOutTime, actorAnimInfo3.layer);
            player.SetStand(t1, playState1.MainStateInfo.InStateInfo.EnableFade, playState1.MainStateInfo.InStateInfo.FadeSecond, playState1.DirectionType);
            partner.Animation.PlayInAnimation(actorAnimInfo3.inEnableBlend, actorAnimInfo3.inBlendSec, playState2.MainStateInfo.FadeOutTime, actorAnimInfo3.layer);
            partner.SetStand(t2, actorAnimInfo5.inEnableBlend, actorAnimInfo5.inBlendSec, actorAnimInfo3.layer);
            ObservableExtensions.Subscribe <long>(Observable.Take <long>(Observable.Skip <long>((IObservable <M0>)Observable.EveryLateUpdate(), 1), 1), (System.Action <M0>)(_ =>
            {
                if (apInfo.pointID == 501)
                {
                    ADV.ChangeADVFixedAngleCamera((Actor)player, 5);
                }
                else
                {
                    if (apInfo.pointID != 500)
                    {
                        return;
                    }
                    ADV.ChangeADVFixedAngleCamera(partner, 5);
                }
            }));
            bool enabled = ((Behaviour)player.HandsHolder).get_enabled();

            player.OldEnabledHoldingHand = enabled;
            if (enabled)
            {
                ((Behaviour)player.HandsHolder).set_enabled(false);
                if (player.HandsHolder.EnabledHolding)
                {
                    player.HandsHolder.EnabledHolding = false;
                }
            }
            player.CameraControl.SetShotTypeForce(ShotType.Near);
        }
示例#10
0
 protected override void OnAwake(PlayerActor player)
 {
     MapUIContainer.TutorialUI.ClosedEvent += (Action)(() => EventPoint.ChangePrevPlayerMode());
     MapUIContainer.SetActiveTutorialUI(true);
     MapUIContainer.SetVisibleHUDExceptStoryUI(false);
 }