Example #1
0
        protected override void OnAwake(PlayerActor player)
        {
            player.EventKey = AIProject.EventType.Sleep;
            player.SetActiveOnEquipedItem(false);
            player.ChaControl.setAllLayerWeight(0.0f);
            player.SetScheduledInteractionState(false);
            player.ReleaseInteraction();
            Singleton <Manager.Input> .Instance.ReserveState(Manager.Input.ValidType.UI);

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

            if (player.PlayerController.PrevStateName != "Lie")
            {
                player.PlayActionMotion(AIProject.EventType.Sleep);
                ObservableExtensions.Subscribe <long>((IObservable <M0>)Observable.Timer(TimeSpan.FromMilliseconds(1000.0)), (System.Action <M0>)(_ =>
                {
                    if (MapUIContainer.OpenOnceTutorial(7, false))
                    {
                        MapUIContainer.TutorialUI.ClosedEvent = (System.Action)(() => this.OnStart(player));
                    }
                    else
                    {
                        this.OnStart(player);
                    }
                }));
                player.CameraControl.SetShotTypeForce(ShotType.Near);
            }
            else
            {
                this.OnStart(player);
            }
            ValueTuple <int, string> valueTuple;

            AIProject.Definitions.Action.NameTable.TryGetValue(AIProject.EventType.Sleep, out valueTuple);
            int _eventTypeID = (int)valueTuple.Item1;

            player.CameraControl.Mode = CameraMode.ActionFreeLook;
            player.CameraControl.LoadActionCameraFile(_eventTypeID, player.PoseID, (Transform)null);
        }