Ejemplo n.º 1
0
 public void Update(SceneData sceneData)
 {
     if (sceneData.Meta.HasValue)
     {
         if (this.Meta != null)
         {
             Meta.Merge(sceneData.Meta.Value);
         }
         else
         {
             Meta = sceneData.Meta.Value;
         }
     }
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public Scene(SceneData sceneData)
 {
     SceneID = sceneData.SceneID;
     Meta    = sceneData.Meta.HasValue ? sceneData.Meta.Value : null;
 }