game version overlay, working on actors sync
This commit is contained in:
3
Editor/Background.meta
Normal file
3
Editor/Background.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 94ddf6c8713749dda84e4de934d39bf0
|
||||
timeCreated: 1752350242
|
||||
34
Editor/Background/EnsureUniqueActorID.cs
Normal file
34
Editor/Background/EnsureUniqueActorID.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using RebootKit.Engine.Foundation;
|
||||
using RebootKit.Engine.Simulation;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RebootKit.Editor.Background {
|
||||
[InitializeOnLoad]
|
||||
public class EnsureUniqueActorID {
|
||||
static EnsureUniqueActorID() {
|
||||
ObjectChangeEvents.changesPublished += OnObjectChange;
|
||||
}
|
||||
|
||||
static void OnObjectChange(ref ObjectChangeEventStream stream) {
|
||||
|
||||
for (int i = 0; i < stream.length; ++i) {
|
||||
switch (stream.GetEventType(i)) {
|
||||
case ObjectChangeKind.CreateGameObjectHierarchy:
|
||||
stream.GetCreateGameObjectHierarchyEvent(i, out CreateGameObjectHierarchyEventArgs createEvent);
|
||||
|
||||
GameObject gameObjectChanged =
|
||||
EditorUtility.InstanceIDToObject(createEvent.instanceId) as GameObject;
|
||||
|
||||
if (gameObjectChanged != null && gameObjectChanged.TryGetComponent(out Actor actor)) {
|
||||
actor.ActorID = UniqueID.NewULongFromGuid();
|
||||
EditorUtility.SetDirty(actor);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Editor/Background/EnsureUniqueActorID.cs.meta
Normal file
3
Editor/Background/EnsureUniqueActorID.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bccf1b1891f9486e85330d8c7be3ea52
|
||||
timeCreated: 1752350253
|
||||
4
Editor/RebootKitEditor.asmdef → Editor/RebootKit.Editor.asmdef
Executable file → Normal file
4
Editor/RebootKitEditor.asmdef → Editor/RebootKit.Editor.asmdef
Executable file → Normal file
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "SzafaKitEditor",
|
||||
"rootNamespace": "RebootKitEditor",
|
||||
"name": "RebootKit.Editor",
|
||||
"rootNamespace": "RebootKit.Editor",
|
||||
"references": [
|
||||
"GUID:284059c7949783646b281a1b815580e6",
|
||||
"GUID:9e24947de15b9834991c9d8411ea37cf",
|
||||
0
Editor/RebootKitEditor.asmdef.meta → Editor/RebootKit.Editor.asmdef.meta
Executable file → Normal file
0
Editor/RebootKitEditor.asmdef.meta → Editor/RebootKit.Editor.asmdef.meta
Executable file → Normal file
Reference in New Issue
Block a user