|
|
@@ -7,6 +7,15 @@ namespace ET
|
|
|
{
|
|
|
public static class LSSceneSystem
|
|
|
{
|
|
|
+ [ObjectSystem]
|
|
|
+ public class LSSceneAwakeSystem: AwakeSystem<LSScene>
|
|
|
+ {
|
|
|
+ protected override void Awake(LSScene self)
|
|
|
+ {
|
|
|
+ self.Updater.Parent = self;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public class DeserializeSystem: DeserializeSystem<LSScene>
|
|
|
{
|
|
|
protected override void Deserialize(LSScene self)
|
|
|
@@ -33,62 +42,22 @@ namespace ET
|
|
|
|
|
|
[EnableMethod]
|
|
|
[ChildOf]
|
|
|
- public class LSScene: Scene, IDeserialize
|
|
|
+ public class LSScene: LSEntity, IAwake, IScene, IDeserialize
|
|
|
{
|
|
|
public LSScene()
|
|
|
{
|
|
|
}
|
|
|
|
|
|
- public LSScene(long id, int zone, SceneType sceneType, string name): base(id, IdGenerater.Instance.GenerateInstanceId(), zone, sceneType, name)
|
|
|
+ public LSScene(SceneType sceneType)
|
|
|
{
|
|
|
+ this.Id = this.GetId();
|
|
|
+
|
|
|
+ this.SceneType = sceneType;
|
|
|
+
|
|
|
this.Updater.Parent = this;
|
|
|
|
|
|
Log.Info($"LSScene create: {this.Id} {this.InstanceId}");
|
|
|
}
|
|
|
-
|
|
|
- #region AddComponent And AddChild
|
|
|
-
|
|
|
- public new K AddComponent<K>(bool isFromPool = false) where K : LSEntity, IAwake, new()
|
|
|
- {
|
|
|
- return this.AddComponentWithId<K>(this.GetId(), isFromPool);
|
|
|
- }
|
|
|
-
|
|
|
- public new K AddComponent<K, P1>(P1 p1, bool isFromPool = false) where K : LSEntity, IAwake<P1>, new()
|
|
|
- {
|
|
|
- return this.AddComponentWithId<K, P1>(this.GetId(), p1, isFromPool);
|
|
|
- }
|
|
|
-
|
|
|
- public new K AddComponent<K, P1, P2>(P1 p1, P2 p2, bool isFromPool = false) where K : LSEntity, IAwake<P1, P2>, new()
|
|
|
- {
|
|
|
- return this.AddComponentWithId<K, P1, P2>(this.GetId(), p1, p2, isFromPool);
|
|
|
- }
|
|
|
-
|
|
|
- public new K AddComponent<K, P1, P2, P3>(P1 p1, P2 p2, P3 p3, bool isFromPool = false) where K : LSEntity, IAwake<P1, P2, P3>, new()
|
|
|
- {
|
|
|
- return this.AddComponentWithId<K, P1, P2, P3>(this.GetId(), p1, p2, p3, isFromPool);
|
|
|
- }
|
|
|
-
|
|
|
- public new T AddChild<T>(bool isFromPool = false) where T : LSEntity, IAwake
|
|
|
- {
|
|
|
- return this.AddChildWithId<T>(this.GetId(), isFromPool);
|
|
|
- }
|
|
|
-
|
|
|
- public new T AddChild<T, A>(A a, bool isFromPool = false) where T : LSEntity, IAwake<A>
|
|
|
- {
|
|
|
- return this.AddChildWithId<T, A>(this.GetId(), a, isFromPool);
|
|
|
- }
|
|
|
-
|
|
|
- public new T AddChild<T, A, B>(A a, B b, bool isFromPool = false) where T : LSEntity, IAwake<A, B>
|
|
|
- {
|
|
|
- return this.AddChildWithId<T, A, B>(this.GetId(), a, b, isFromPool);
|
|
|
- }
|
|
|
-
|
|
|
- public new T AddChild<T, A, B, C>(A a, B b, C c, bool isFromPool = false) where T : LSEntity, IAwake<A, B, C>
|
|
|
- {
|
|
|
- return this.AddChildWithId<T, A, B, C>(this.GetId(), a, b, c, isFromPool);
|
|
|
- }
|
|
|
-
|
|
|
- #endregion
|
|
|
|
|
|
private readonly Dictionary<long, LSEntity> allLSEntities = new();
|
|
|
|
|
|
@@ -133,5 +102,7 @@ namespace ET
|
|
|
}
|
|
|
|
|
|
public TSRandom Random { get; set; }
|
|
|
+
|
|
|
+ public SceneType SceneType { get; set; }
|
|
|
}
|
|
|
}
|