From c9b8eb85709ef7a9f7d212c1ee353bb2b71db63b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=93=AE?= <834207172@qq.com> Date: Wed, 10 Sep 2025 15:52:11 +0800 Subject: [PATCH] 111 --- .../Runtime/HybridLoad/Fsm/FsmLoadSystem.cs | 14 ++++++--- .../Runtime/HybridLoad/Fsm/LoadResState.cs | 4 ++- .../Runtime/HybridLoad/HybridClREntrance.cs | 15 +++++++-- .../Runtime/Tools/VectorExtension.cs | 31 ++++++++++++++++--- Assets/00.StaryEvoTools/package.json | 2 +- 5 files changed, 52 insertions(+), 14 deletions(-) diff --git a/Assets/00.StaryEvoTools/Runtime/HybridLoad/Fsm/FsmLoadSystem.cs b/Assets/00.StaryEvoTools/Runtime/HybridLoad/Fsm/FsmLoadSystem.cs index 15ead38..3d29fcc 100644 --- a/Assets/00.StaryEvoTools/Runtime/HybridLoad/Fsm/FsmLoadSystem.cs +++ b/Assets/00.StaryEvoTools/Runtime/HybridLoad/Fsm/FsmLoadSystem.cs @@ -7,25 +7,29 @@ namespace Stary.Evo { private OpenDomainType OpenDomainType { get; set; } - private Vector3 position; + private TransformCtor transformCtor; public ProgressBarPanel ProgressBarPanel { get; set; } public void SetOpenDomainType(OpenDomainType type) { this.OpenDomainType = type; } - public void SetPosition(Vector3 position) + public void SetTransformCtor(Transform transform) { - this.position = position; + this.transformCtor = transform.GetTransformCtor(); + } + public void SetTransformCtor(TransformCtor transformCtor) + { + this.transformCtor = transformCtor; } public OpenDomainType GetOpenDomainType() { return this.OpenDomainType; } - public Vector3 GetPosition() + public TransformCtor GetTransformCtor() { - return this.position; + return this.transformCtor; } } } \ No newline at end of file diff --git a/Assets/00.StaryEvoTools/Runtime/HybridLoad/Fsm/LoadResState.cs b/Assets/00.StaryEvoTools/Runtime/HybridLoad/Fsm/LoadResState.cs index 9a0aac1..0ac92e4 100644 --- a/Assets/00.StaryEvoTools/Runtime/HybridLoad/Fsm/LoadResState.cs +++ b/Assets/00.StaryEvoTools/Runtime/HybridLoad/Fsm/LoadResState.cs @@ -90,7 +90,9 @@ namespace Stary.Evo } else if (fsmLoadSystem.GetOpenDomainType() == OpenDomainType.ImageTracked) { - info.transform.position = fsmLoadSystem.GetPosition(); + info.transform.position = fsmLoadSystem.GetTransformCtor().position; + info.transform.rotation = Quaternion.Euler(fsmLoadSystem.GetTransformCtor().rotation); + info.transform.localScale = fsmLoadSystem.GetTransformCtor().scale; } } else diff --git a/Assets/00.StaryEvoTools/Runtime/HybridLoad/HybridClREntrance.cs b/Assets/00.StaryEvoTools/Runtime/HybridLoad/HybridClREntrance.cs index c1788ea..59d434f 100644 --- a/Assets/00.StaryEvoTools/Runtime/HybridLoad/HybridClREntrance.cs +++ b/Assets/00.StaryEvoTools/Runtime/HybridLoad/HybridClREntrance.cs @@ -8,6 +8,7 @@ namespace Stary.Evo public string domain; private FsmLoadSystem _fsmSystem; + /// /// 即将加载的domain场景 /// @@ -69,11 +70,21 @@ namespace Stary.Evo AppConfig.PackageDomainName = domain; _fsmSystem.SetCurState(nameof(ResStartState)); } - public void OpenDomain(string domain, Vector3 position) + + public void OpenDomain(string domain, TransformCtor transformCtor) { this.domain = domain; _fsmSystem.SetOpenDomainType(OpenDomainType.ImageTracked); - _fsmSystem.SetPosition(position); + _fsmSystem.SetTransformCtor(transformCtor); + AppConfig.PackageDomainName = domain; + _fsmSystem.SetCurState(nameof(ResStartState)); + } + + public void OpenDomain(string domain, Transform transform) + { + this.domain = domain; + _fsmSystem.SetOpenDomainType(OpenDomainType.ImageTracked); + _fsmSystem.SetTransformCtor(transform); AppConfig.PackageDomainName = domain; _fsmSystem.SetCurState(nameof(ResStartState)); } diff --git a/Assets/00.StaryEvoTools/Runtime/Tools/VectorExtension.cs b/Assets/00.StaryEvoTools/Runtime/Tools/VectorExtension.cs index 0bdc0e5..f01e8f8 100644 --- a/Assets/00.StaryEvoTools/Runtime/Tools/VectorExtension.cs +++ b/Assets/00.StaryEvoTools/Runtime/Tools/VectorExtension.cs @@ -3,9 +3,8 @@ using UnityEngine; namespace Stary.Evo { - public static class VectorExtension { - - + public static class VectorExtension + { public static Vector3Ctor GetVector3Ctor(this Vector3 vector) { return new Vector3Ctor(vector); @@ -16,7 +15,7 @@ namespace Stary.Evo return new Vector3(vector3Ctor.x, vector3Ctor.y, vector3Ctor.z); } - public static Vector2Ctor GetVector2Ctor( this Vector2 vector) + public static Vector2Ctor GetVector2Ctor(this Vector2 vector) { return new Vector2Ctor(vector); } @@ -26,7 +25,12 @@ namespace Stary.Evo return new Vector2(vector3Ctor.x, vector3Ctor.y); } + public static TransformCtor GetTransformCtor(this Transform transform) + { + return new TransformCtor(transform); + } } + [Serializable] public class Vector3Ctor { @@ -36,14 +40,15 @@ namespace Stary.Evo public Vector3Ctor() { - } + public Vector3Ctor(Vector3 vector) { x = vector.x; y = vector.y; z = vector.z; } + public Vector3Ctor(float x, float y, float z) { this.x = x; @@ -51,6 +56,7 @@ namespace Stary.Evo this.z = z; } } + [Serializable] public class Vector2Ctor { @@ -63,4 +69,19 @@ namespace Stary.Evo y = vector.y; } } + + [Serializable] + public class TransformCtor + { + public Vector3 position; + public Vector3 rotation; + public Vector3 scale; + + public TransformCtor(Transform transform) + { + position = transform.position; + rotation = transform.eulerAngles; + scale = transform.localScale; + } } +} \ No newline at end of file diff --git a/Assets/00.StaryEvoTools/package.json b/Assets/00.StaryEvoTools/package.json index 45330a6..2e89cd9 100644 --- a/Assets/00.StaryEvoTools/package.json +++ b/Assets/00.StaryEvoTools/package.json @@ -1,6 +1,6 @@ { "name": "com.staryevo.tools", - "version": "1.0.3", + "version": "1.0.4", "displayName": "00.StaryEvo.Tools", "description": "This is an Framework package(后台服务器版本,端口9527)", "unity": "2021.3",