public static void Register(EventRuntimeReferenceHost host) { EnsureInitialized(); var scene = host.gameObject.scene; if (!registry.ContainsKey(scene)) { AddSceneEntry(scene); } var list = registry[scene]; list.Add(host); }
public bool Ready(IScriptVariablesDatabase eventVariableDatabase) { if (ScriptAsset == null) { return(false); } if (RuntimeReferenceHost == null) { if (SceneForRuntimeReference == default) { SceneForRuntimeReference = SceneManager.GetActiveScene(); } if (ScriptAsset == null) { return(false); } RuntimeReferenceHost = EventRuntimeReferenceHostRegistry.Get(SceneForRuntimeReference, ScriptAsset); } if (EventVariables == null) { if (ScriptAsset == null) { return(false); } EventVariables = eventVariableDatabase.GetStore(ScriptAsset.Id); } if (TemporaryVariables == null) { TemporaryVariables = new RegularVariableStore(); } return(true); }