diff --git a/Assets/Scripts/.cursor/rules/core.mdc b/Assets/Scripts/.cursor/rules/core.mdc index dde7f8b..e337eb0 100644 --- a/Assets/Scripts/.cursor/rules/core.mdc +++ b/Assets/Scripts/.cursor/rules/core.mdc @@ -1,5 +1,5 @@ --- -alwaysApply: true +alwaysApply: false --- ## RIPER-5 + O1 思维 + 代理执行协议 diff --git a/Assets/Scripts/Environment/WorldLightObject.cs b/Assets/Scripts/Environment/WorldLightObject.cs index 3fc60b9..aedc6e9 100644 --- a/Assets/Scripts/Environment/WorldLightObject.cs +++ b/Assets/Scripts/Environment/WorldLightObject.cs @@ -1,7 +1,6 @@ using Convention; using Demo.Game.Attr; using System.Collections; -using System.Collections.Generic; using UnityEngine; namespace Demo.Game diff --git a/Assets/Scripts/Framework/CameraObject.cs b/Assets/Scripts/Framework/CameraObject.cs index b5c2239..dd54b21 100644 --- a/Assets/Scripts/Framework/CameraObject.cs +++ b/Assets/Scripts/Framework/CameraObject.cs @@ -17,43 +17,92 @@ namespace Demo.Game { public class CameraObjectConfig : ScriptLoadableConfig { + public bool IsSetupOrthographic = false; public bool orthographic; + public bool IsSetupFieldOfView = false; public float fieldOfView; + public bool IsSetupOrthographicSize = false; public float orthographicSize; + public bool IsSetupNearClipPlane = false; public float nearClipPlane; + public bool IsSetupFarClipPlane = false; public float farClipPlane; + public bool IsSetupDepth = false; public float depth; + public bool IsSetupVirtualCameraFollow = false; public int VirtualCameraFollow; + public bool IsSetupVirtualCameraLookAt = false; public int VirtualCameraLookAt; + public bool IsSetupVirtualCameraFollowOffset = false; public Vector3 VirtualCameraFollowOffset; + public bool IsSetupVirtualCameraLookAtDamping = false; public Vector3 VirtualCameraLookAtDamping; public override void Deserialize(BinaryReader reader) { + IsSetupOrthographic =BinarySerializeUtility.ReadBool(reader); orthographic = BinarySerializeUtility.ReadBool(reader); + + IsSetupFieldOfView = BinarySerializeUtility.ReadBool(reader); fieldOfView = BinarySerializeUtility.ReadFloat(reader); + + IsSetupOrthographicSize = BinarySerializeUtility.ReadBool(reader); orthographicSize = BinarySerializeUtility.ReadFloat(reader); + + IsSetupNearClipPlane = BinarySerializeUtility.ReadBool(reader); nearClipPlane = BinarySerializeUtility.ReadFloat(reader); + + IsSetupFarClipPlane = BinarySerializeUtility.ReadBool(reader); farClipPlane = BinarySerializeUtility.ReadFloat(reader); + + IsSetupDepth = BinarySerializeUtility.ReadBool(reader); depth = BinarySerializeUtility.ReadFloat(reader); + + IsSetupVirtualCameraFollow = BinarySerializeUtility.ReadBool(reader); VirtualCameraFollow = BinarySerializeUtility.ReadInt(reader); + + IsSetupVirtualCameraLookAt = BinarySerializeUtility.ReadBool(reader); VirtualCameraLookAt = BinarySerializeUtility.ReadInt(reader); + + IsSetupVirtualCameraFollowOffset = BinarySerializeUtility.ReadBool(reader); VirtualCameraFollowOffset = BinarySerializeUtility.ReadVec3(reader); + + IsSetupVirtualCameraLookAtDamping = BinarySerializeUtility.ReadBool(reader); VirtualCameraLookAtDamping = BinarySerializeUtility.ReadVec3(reader); + base.Deserialize(reader); } public override void Serialize(BinaryWriter writer) { + BinarySerializeUtility.WriteBool(writer, IsSetupOrthographic); BinarySerializeUtility.WriteBool(writer, orthographic); + + BinarySerializeUtility.WriteBool(writer, IsSetupFieldOfView); BinarySerializeUtility.WriteFloat(writer, fieldOfView); + + BinarySerializeUtility.WriteBool(writer, IsSetupOrthographicSize); BinarySerializeUtility.WriteFloat(writer, orthographicSize); + + BinarySerializeUtility.WriteBool(writer, IsSetupNearClipPlane); BinarySerializeUtility.WriteFloat(writer, nearClipPlane); + + BinarySerializeUtility.WriteBool(writer, IsSetupFarClipPlane); BinarySerializeUtility.WriteFloat(writer, farClipPlane); + + BinarySerializeUtility.WriteBool(writer, IsSetupDepth); BinarySerializeUtility.WriteFloat(writer, depth); + + BinarySerializeUtility.WriteBool(writer, IsSetupVirtualCameraFollow); BinarySerializeUtility.WriteInt(writer, VirtualCameraFollow); + + BinarySerializeUtility.WriteBool(writer, IsSetupVirtualCameraLookAt); BinarySerializeUtility.WriteInt(writer,VirtualCameraLookAt); + + BinarySerializeUtility.WriteBool(writer, IsSetupVirtualCameraFollowOffset); BinarySerializeUtility.WriteVec3(writer, VirtualCameraFollowOffset); + + BinarySerializeUtility.WriteBool(writer, IsSetupVirtualCameraLookAtDamping); BinarySerializeUtility.WriteVec3(writer, VirtualCameraLookAtDamping); base.Serialize(writer); } @@ -67,7 +116,7 @@ namespace Demo.Game { return new CameraObjectConfig(); } - private Camera MainCamera => Camera.main; + internal Camera MainCamera => Camera.main; private CinemachineCamera m_VirtualCamera; private CinemachineCamera VirtualCamera { @@ -105,6 +154,7 @@ namespace Demo.Game [Convention.RScript.Variable.Attr.Method] public void SetOrthographic(bool orthographic) { + GetConfig().IsSetupOrthographic = true; GetConfig().orthographic = MainCamera.orthographic = orthographic; } @@ -114,6 +164,7 @@ namespace Demo.Game [Convention.RScript.Variable.Attr.Method] public void SetFieldOfView(float fieldOfView) { + GetConfig().IsSetupFieldOfView = true; GetConfig().fieldOfView = MainCamera.fieldOfView = fieldOfView; } @@ -123,6 +174,7 @@ namespace Demo.Game [Convention.RScript.Variable.Attr.Method] public void SetOrthographicSize(float orthographicSize) { + GetConfig().IsSetupOrthographicSize = true; GetConfig().orthographicSize = MainCamera.orthographicSize = orthographicSize; } @@ -132,6 +184,7 @@ namespace Demo.Game [Convention.RScript.Variable.Attr.Method] public void SetNearClipPlane(float nearClipPlane) { + GetConfig().IsSetupNearClipPlane = true; GetConfig().nearClipPlane = MainCamera.nearClipPlane = nearClipPlane; } @@ -141,6 +194,7 @@ namespace Demo.Game [Convention.RScript.Variable.Attr.Method] public void SetFarClipPlane(float farClipPlane) { + GetConfig().IsSetupFarClipPlane = true; GetConfig().farClipPlane = MainCamera.farClipPlane = farClipPlane; } @@ -150,6 +204,7 @@ namespace Demo.Game [Convention.RScript.Variable.Attr.Method] public void SetDepth(float depth) { + GetConfig().IsSetupDepth = true; GetConfig().depth = MainCamera.depth = depth; } @@ -159,6 +214,7 @@ namespace Demo.Game [Convention.RScript.Variable.Attr.Method] public void SetVirtualCameraFollow(ScriptableObject target) { + GetConfig().IsSetupVirtualCameraFollow = true; GetConfig().VirtualCameraFollow = GetRoot().FindIndex(target); VirtualCamera.Follow = target.transform; } @@ -169,6 +225,7 @@ namespace Demo.Game [Convention.RScript.Variable.Attr.Method] public void SetVirtualCameraLookAt(ScriptableObject target) { + GetConfig().IsSetupVirtualCameraLookAt = true; GetConfig().VirtualCameraLookAt = GetRoot().FindIndex(target); VirtualCamera.LookAt = target.transform; } @@ -185,6 +242,7 @@ namespace Demo.Game var body = VirtualCamera.GetCinemachineComponent(CinemachineCore.Stage.Body) as CinemachineFollow; if (body != null) { + GetConfig().IsSetupVirtualCameraFollowOffset = true; GetConfig().VirtualCameraFollowOffset = new Vector3(x, y, z); body.FollowOffset = new Vector3(x, y, z); } @@ -202,6 +260,7 @@ namespace Demo.Game var aim = VirtualCamera.GetCinemachineComponent(CinemachineCore.Stage.Body) as CinemachineRotationComposer; if (aim != null) { + GetConfig().IsSetupVirtualCameraLookAtDamping = true; GetConfig().VirtualCameraLookAtDamping = new Vector3(x, y, z); aim.Damping = new(x, y); } diff --git a/Assets/Scripts/Interaction/Effect/ParticleEffect.cs b/Assets/Scripts/Interaction/Effect/ParticleEffect.cs index 2654d9d..af7ee81 100644 --- a/Assets/Scripts/Interaction/Effect/ParticleEffect.cs +++ b/Assets/Scripts/Interaction/Effect/ParticleEffect.cs @@ -81,10 +81,10 @@ namespace Demo.Game ConventionUtility.StartCoroutine(this.LoadAssetBundle(ab, x => { GameObject sub = Instantiate(x.LoadAsset(prefab)); - sub.SetActive(false); Prefabs.Add(sub); sub.transform.SetParent(transform); sub.transform.localPosition = Vector3.zero; + sub.SetActive(false); if(AssetBundles.ContainsKey(ab)==false) AssetBundles.Add(ab, new()); AssetBundles[ab].Add(prefab); diff --git a/Assets/Scripts/Interaction/JudgementEffect/ParticleJudgement.cs b/Assets/Scripts/Interaction/JudgementEffect/ParticleJudgement.cs index 87c59cd..f7f8d85 100644 --- a/Assets/Scripts/Interaction/JudgementEffect/ParticleJudgement.cs +++ b/Assets/Scripts/Interaction/JudgementEffect/ParticleJudgement.cs @@ -102,6 +102,7 @@ namespace Demo.Game sub.SetActive(false); Prefabs.Add(levelId, sub); sub.transform.SetParent(transform); + sub.transform.localPosition = Vector3.zero; AssetBundles.Add(levelId, ab); Durations.Add(levelId, duration); }));