From b33bf2148c63a8b506124fe26ca948b00348402f Mon Sep 17 00:00:00 2001 From: tiendat3699 <96950844+tiendat3699@users.noreply.github.com> Date: Thu, 11 Apr 2024 17:21:13 +0700 Subject: [PATCH] feat: replay flow --- Assets/GadGame/Scripts/Network/ReceiverData.cs | 4 +++- .../GadGame/Scripts/State/MainFlowState/EngageState.cs | 10 ++++++++++ .../GadGame/Scripts/State/MainFlowState/PassByState.cs | 7 ++++++- .../GadGame/Scripts/State/MainFlowState/ViewedState.cs | 5 +++++ 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Assets/GadGame/Scripts/Network/ReceiverData.cs b/Assets/GadGame/Scripts/Network/ReceiverData.cs index fdc22b4..cc01334 100644 --- a/Assets/GadGame/Scripts/Network/ReceiverData.cs +++ b/Assets/GadGame/Scripts/Network/ReceiverData.cs @@ -1,4 +1,6 @@ +using UnityEngine.Serialization; + namespace GadGame.Network { public enum Genders @@ -11,7 +13,7 @@ namespace GadGame.Network public struct ReceiverData { public bool PassBy; - public bool Viewed; + public bool OnVision; public bool Engage; public bool Ready; public Genders Gender; diff --git a/Assets/GadGame/Scripts/State/MainFlowState/EngageState.cs b/Assets/GadGame/Scripts/State/MainFlowState/EngageState.cs index f94b9a5..9b04ab4 100644 --- a/Assets/GadGame/Scripts/State/MainFlowState/EngageState.cs +++ b/Assets/GadGame/Scripts/State/MainFlowState/EngageState.cs @@ -16,6 +16,16 @@ namespace GadGame.State public override void Update() { + if (!Receiver.Instance.DataReceived.PassBy) + { + Runner.SetState(typeof(IdleState)); + return; + } + if (!Receiver.Instance.DataReceived.Engage) + { + Runner.SetState(typeof(ViewedState)); + return; + } if (!Receiver.Instance.DataReceived.Ready) _timer = 0; _timer += Time.deltaTime; if (_timer >= 5) diff --git a/Assets/GadGame/Scripts/State/MainFlowState/PassByState.cs b/Assets/GadGame/Scripts/State/MainFlowState/PassByState.cs index e6a2fa6..44d86fb 100644 --- a/Assets/GadGame/Scripts/State/MainFlowState/PassByState.cs +++ b/Assets/GadGame/Scripts/State/MainFlowState/PassByState.cs @@ -13,7 +13,12 @@ namespace GadGame.State public override void Update() { - if (Receiver.Instance.DataReceived.Viewed) + if (!Receiver.Instance.DataReceived.PassBy) + { + Runner.SetState(typeof(IdleState)); + return; + } + if (Receiver.Instance.DataReceived.OnVision) { Runner.SetState(typeof(ViewedState)); } diff --git a/Assets/GadGame/Scripts/State/MainFlowState/ViewedState.cs b/Assets/GadGame/Scripts/State/MainFlowState/ViewedState.cs index 16a1853..99091cd 100644 --- a/Assets/GadGame/Scripts/State/MainFlowState/ViewedState.cs +++ b/Assets/GadGame/Scripts/State/MainFlowState/ViewedState.cs @@ -12,6 +12,11 @@ namespace GadGame.State public override void Update() { + if (!Receiver.Instance.DataReceived.PassBy) + { + Runner.SetState(typeof(IdleState)); + return; + } if (Receiver.Instance.DataReceived.Engage) { Runner.SetState(typeof(EngageState));