player caught bug fix

This commit is contained in:
Glence 2023-03-25 17:20:35 +08:00
parent 4f84736599
commit ce24a1efb0
2 changed files with 36 additions and 29 deletions

View File

@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using static PlayerController;
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
{ {
@ -18,6 +19,7 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
if (transform) if (transform)
{ {
transform.GlobalPosition = aiTransform.GlobalPosition; transform.GlobalPosition = aiTransform.GlobalPosition;
transform.GlobalEulerAngles = aiTransform.GlobalEulerAngles;
} }
} }
@ -29,6 +31,10 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
HomeOwnerAI ai = aiGO.GetScript<HomeOwnerAI>(); HomeOwnerAI ai = aiGO.GetScript<HomeOwnerAI>();
if (pc) if (pc)
{ {
pc.currentState = RaccoonStates.CAUGHT;
if (pc.stateMachine && !pc.stateMachine.IsState(typeof(PlayerCaughtState)))
pc.stateMachine.SetState(typeof(PlayerCaughtState));
pc.GotCaught(); pc.GotCaught();
if (ai) if (ai)
ai.Reset(); ai.Reset();

View File

@ -510,7 +510,8 @@ public class PlayerController : Script
currentState = RaccoonStates.IDLE; currentState = RaccoonStates.IDLE;
if (stateMachine && !stateMachine.IsState(typeof(PlayerIdleState))) if (stateMachine && !stateMachine.IsState(typeof(PlayerIdleState)))
stateMachine.SetState(typeof(PlayerIdleState)); stateMachine.SetState(typeof(PlayerIdleState));
tranform.LocalPosition = respawnPoint.GetComponent<Transform>().LocalPosition;
tranform.GlobalPosition = respawnPoint.GetComponent<Transform>().GlobalPosition;
GameManager.Instance.RacoonCaught(); GameManager.Instance.RacoonCaught();