protected override void OnRelease(PlayerActor player) { IState state = player.PlayerController.State; if (state is Normal || state is Onbu) { this._prevInteractionState = true; this._prevValidType = Input.ValidType.Action; this._prevAcceptionState = CommandLabel.AcceptionState.InvokeAcception; } if (this._prevInteractionState != player.CurrentInteractionState) { player.SetScheduledInteractionState(this._prevInteractionState); player.ReleaseInteraction(); } if (this._prevValidType != Singleton <Input> .Instance.State) { Singleton <Input> .Instance.ReserveState(this._prevValidType); Singleton <Input> .Instance.SetupState(); } if (this._prevAcceptionState == MapUIContainer.CommandLabel.Acception) { return; } MapUIContainer.SetCommandLabelAcception(this._prevAcceptionState); }
protected override void OnRelease(PlayerActor player) { switch (player.PlayerController.State) { case Normal _: case Onbu _: this._prevAcceptionState = CommandLabel.AcceptionState.InvokeAcception; break; } player.NavMeshAgent.set_avoidancePriority(this._prevAvoidancePriority); if (Object.op_Inequality((Object)player.Partner, (Object)null)) { player.Partner.NavMeshAgent.set_obstacleAvoidanceType((ObstacleAvoidanceType)4); } if (this._prevAcceptionState == MapUIContainer.CommandLabel.Acception) { return; } MapUIContainer.SetCommandLabelAcception(this._prevAcceptionState); }
protected override void OnAwake(PlayerActor player) { this._prevAcceptionState = MapUIContainer.CommandLabel.Acception; this._prevValidType = Singleton <Input> .Instance.State; this._prevInteractionState = player.CurrentInteractionState; if (this._prevAcceptionState != CommandLabel.AcceptionState.None) { MapUIContainer.SetCommandLabelAcception(CommandLabel.AcceptionState.None); } if (this._prevValidType != Input.ValidType.None) { Singleton <Input> .Instance.ReserveState(Input.ValidType.None); Singleton <Input> .Instance.SetupState(); } if (!this._prevInteractionState) { return; } player.SetScheduledInteractionState(false); player.ReleaseInteraction(); }
protected override void OnAwake(PlayerActor player) { this._prevAcceptionState = MapUIContainer.CommandLabel.Acception; if (this._prevAcceptionState != CommandLabel.AcceptionState.None) { MapUIContainer.SetCommandLabelAcception(CommandLabel.AcceptionState.None); } player.Animation.RefsActAnimInfo = true; player.ActivateTransfer(); player.SetActiveOnEquipedItem(true); player.ResetCoolTime(); if (player.CameraControl.Mode == CameraMode.ActionNotMove || player.CameraControl.Mode == CameraMode.ActionFreeLook) { player.CameraControl.Mode = CameraMode.Normal; player.CameraControl.RecoverShotType(); } this._prevAvoidancePriority = player.NavMeshAgent.get_avoidancePriority(); player.NavMeshAgent.set_avoidancePriority(99); Vector3 destination = this.DesiredPosition(player.Partner); this.SetDestination(player, destination); player.Partner.NavMeshAgent.set_obstacleAvoidanceType((ObstacleAvoidanceType)0); }
protected override void OnAwake(PlayerActor player) { this._eventPoint = player.CurrentEventPoint; if (Object.op_Equality((Object)this._eventPoint, (Object)null)) { this.ErrorEnd(player, "イベントポイント持っていないのにバルブ扉を開こうとした"); } else { if (Object.op_Equality((Object)this._eventPoint, (Object)EventPoint.GetTargetPoint())) { EventPoint.SetTargetID(-1, -1); } HarborDoorAnimation component = (HarborDoorAnimation)((Component)this._eventPoint).GetComponent <HarborDoorAnimation>(); if (Object.op_Equality((Object)component, (Object)null)) { this.ErrorEnd(player, "イベントポイントからHarborDoorAnimationが取得できなかった"); } else { this._prevAcceptionState = MapUIContainer.CommandLabel.Acception; if (this._prevAcceptionState != CommandLabel.AcceptionState.None) { MapUIContainer.CommandLabel.Acception = CommandLabel.AcceptionState.None; } this._animData = component.AnimData; player.EventKey = EventType.DoorOpen; this._poseInfo = component.PoseInfo; player.SetActiveOnEquipedItem(false); player.ChaControl.setAllLayerWeight(0.0f); Transform t = component.BasePoint ?? ((Component)this._eventPoint).get_transform(); player.Animation.RecoveryPoint = component.RecoveryPoint; int sex = (int)player.ChaControl.sex; int postureId = this._poseInfo.postureID; int poseId = this._poseInfo.poseID; this._info = Singleton <Resources> .Instance.Animation.PlayerActionAnimTable[sex][postureId][poseId]; ActorAnimInfo actorAnimInfo = new ActorAnimInfo() { layer = this._info.Layer, inEnableBlend = this._info.MainStateInfo.InStateInfo.EnableFade, inBlendSec = this._info.MainStateInfo.InStateInfo.FadeSecond, outEnableBlend = this._info.MainStateInfo.OutStateInfo.EnableFade, outBlendSec = this._info.MainStateInfo.OutStateInfo.FadeSecond, directionType = this._info.DirectionType, endEnableBlend = this._info.EndEnableBlend, endBlendSec = this._info.EndBlendRate }; player.Animation.AnimInfo = actorAnimInfo; ActorAnimInfo animInfo = actorAnimInfo; player.Animation.LoadSEEventKeyTable(postureId, poseId); player.Animation.InitializeStates(this._info.MainStateInfo.InStateInfo.StateInfos, this._info.MainStateInfo.OutStateInfo.StateInfos, this._info.MainStateInfo.AssetBundleInfo); player.Animation.PlayInAnimation(animInfo.inEnableBlend, animInfo.inBlendSec, this._info.MainStateInfo.FadeOutTime, animInfo.layer); ObservableExtensions.Subscribe <Unit>(Observable.Take <Unit>((IObservable <M0>) this._onEndAction, 1), (Action <M0>)(_ => player.Animation.PlayOutAnimation(animInfo.outEnableBlend, animInfo.outBlendSec, animInfo.layer))); player.DeactivateNavMeshAgent(); player.IsKinematic = true; player.SetStand(t, this._info.MainStateInfo.InStateInfo.EnableFade, this._info.MainStateInfo.InStateInfo.FadeSecond, this._info.DirectionType); if (Object.op_Inequality((Object)this._animData, (Object)null)) { this._animData.AnimEndAction = (Action)(() => this._animData.PlayOpenIdleAnimation(false, 0.0f, 0.0f, 0)); this._animData.PlayToOpenAnimation(animInfo.inEnableBlend, animInfo.inBlendSec, this._info.MainStateInfo.FadeOutTime, animInfo.layer); } ObservableExtensions.Subscribe <Unit>(Observable.Take <Unit>((IObservable <M0>) this._onComplete, 1), (Action <M0>)(_ => { if (this._animData is AreaOpenLinkedHarborDoorAnimData) { Singleton <Manager.Map> .Instance.SetOpenAreaState((this._animData as AreaOpenLinkedHarborDoorAnimData).AreaOpenID, true); } if (this._eventPoint.GroupID == 1) { switch (this._eventPoint.PointID) { case 2: Manager.Map.ForcedSetTutorialProgress(26); break; } } if (this._prevAcceptionState != MapUIContainer.CommandLabel.Acception) { MapUIContainer.CommandLabel.Acception = this._prevAcceptionState; } player.ActivateNavMeshAgent(); player.PlayerController.ChangeState("Normal"); })); player.CameraControl.Mode = CameraMode.ActionFreeLook; player.CameraControl.SetShotTypeForce(ShotType.Near); player.CameraControl.LoadActionCameraFile(postureId, poseId, (Transform)null); player.OldEnabledHoldingHand = ((Behaviour)player.HandsHolder).get_enabled(); if (player.OldEnabledHoldingHand) { ((Behaviour)player.HandsHolder).set_enabled(false); player.HandsHolder.Weight = 0.0f; if (player.HandsHolder.EnabledHolding) { player.HandsHolder.EnabledHolding = false; } } this._initSuccess = true; } } }