public void Update(SceneData sceneData) { if (sceneData.Meta.HasValue) { if (this.Meta != null) { Meta.Merge(sceneData.Meta.Value); } else { Meta = sceneData.Meta.Value; } } }
public Scene OnSceneCreate(SceneData sceneData) { if (_scenes.TryGetValue(sceneData.SceneID, out var scene)) { OnSceneUpdate(sceneData); return(scene); } scene = _stateFactory.CreateScene(sceneData); if (sceneData.Controls != null) { scene.OnControlsCreate(sceneData.Controls); } _scenes.Add(sceneData.SceneID, scene); _sceneCreated.OnNext(scene); return(scene); }
public Scene(SceneData sceneData) { SceneID = sceneData.SceneID; Meta = sceneData.Meta.HasValue ? sceneData.Meta.Value : null; }