Exemplo n.º 1
0
        /// <summary>
        /// Loads the given filename into a scene and returns it.
        /// </summary>
        /// <param name="filename">The filename of the scene</param>
        /// <param name="loadMaterials">Should load materials</param>
        /// <remarks>If false is passed to load materials they are not loaded from the content manager into the texture object. This is for the editor</remarks>
        public static IceScene LoadScene(string filename, bool loadMaterials)
        {
            if (!filename.EndsWith(".icescene"))
            {
                filename += ".icescene";
            }
            string _filename = Path.GetFullPath(filename);

            if (!File.Exists(_filename))
            {
                throw new FileNotFoundException("File Not Found: " + filename);
            }
            IceScene scene = Serialization.SceneSerializer.DeSerializeScene(filename, GlobalDataHolder.ContentFolderPath);

            scene.WillRenderNotActive = false;
            Scenes.Add(scene);
            if (_activeScene == null)
            {
                _activeScene = scene;
            }

            if (loadMaterials == true)
            {
                InitializeScene(scene);
            }
            scene.Enabled             = true;
            scene.WillRenderNotActive = true;

            return(scene);
        }
Exemplo n.º 2
0
 public void AddScene(RName name, SceneGraph.GSceneGraph sg)
 {
     lock (Scenes)
     {
         Scenes.Add(name, sg);
     }
 }
        protected override void Initialize()
        {
            base.Initialize();

            Screen.SetSize((int)(1920 * 0.75), (int)(1080 * 0.75), false);

            for (int i = 0; i < 4; ++i)
            {
                Inputs.Add(new XBoxController(i));
            }

            for (int i = 0; i < 8; ++i)
            {
                Inputs.Add(new JoyConController(i));
            }

            for (int i = 0; i < 16; ++i)
            {
                Inputs.Add(new WebController(i));
            }

            Inputs.Add(new KeyboardController());

            MainScene = new MainScene(this);
            Scenes.Add("Main", MainScene);
            Scenes.Show("Main");



#if !DEBUG
            Screen.ToggleFullscreen();
#endif
        }
Exemplo n.º 4
0
        public void AddScene(Type sceneType)
        {
            ConstructorInfo constructorInfo = sceneType.GetConstructor(new Type[] { typeof(IContext) });
            IScene          scene;

            object[] constructorParams = new object[] { };

            if (constructorInfo != null)
            {
                constructorParams = new object[] { _context };
            }
            else if ((constructorInfo = sceneType.GetConstructor(new Type[] { typeof(IContext), typeof(EntityManager) })) != null)
            {
                EntityManager entityManager = new EntityManager();
                constructorParams = new object[] { _context, entityManager };
            }
            else if ((constructorInfo = sceneType.GetConstructor(new Type[] { typeof(IContext), typeof(EntityManager), typeof(IMovementManager) })) != null)
            {
                EntityManager    entityManager   = new EntityManager();
                IMovementManager movementManager = new MovementManager(entityManager);
                constructorParams = new object[] { _context, entityManager, movementManager };
            }
            else
            {
                constructorInfo = sceneType.GetConstructors()[0];
            }

            scene = constructorInfo.Invoke(constructorParams) as IScene;
            scene.Setup();

            Scenes.Add(scene.SceneId, scene);
        }
Exemplo n.º 5
0
        private void RegisterGameSpecificPrefabs(Scene scene, LoadSceneMode mode)
        {
            if (Scenes.ContainsKey(scene.name))
            {
                return;
            }

            Scenes.Add(scene.name, scene);

            var rgx  = new Regex(@"(\(\d+\))$");
            var objs = Resources.FindObjectsOfTypeAll <GameObject>()
                       .Where(
                x => !rgx.IsMatch(x.name) &&
                x.scene.name == null                     // prefabs don't get a reference to the scene
                );                                       // so that's how you identify them

            foreach (var o in objs)
            {
                if (GttodAssets.Instance.HasAsset(o.name))
                {
                    continue;
                }

                Log.Info($"Registering prefab: {o.name}");
                GttodAssets.Instance.AddAsset(o);
            }

            if (PreviousCount != GttodAssets.Instance.TotalAssets)
            {
                GttodAssets.Instance.OnAssetsInitialized(scene);
                Log.Debug($"Discovered and registered {GttodAssets.Instance.TotalAssets} new prefabs from scene '{scene.name}'.");
            }
            PreviousCount = GttodAssets.Instance.TotalAssets;
        }
Exemplo n.º 6
0
        public override void Initialize(ISpriteBatch spriteBatch)
        {
            base.Initialize(spriteBatch);
            //LoadScene(Options.ContentFolderPath, "test_scene");
            var gameScene         = CreateScene();
            var testGameObject    = gameScene.AddGameObject();
            var textureComponent  = testGameObject.AddTextureComponent(@"BeachBall\beach_ball_00");
            var positionComponent = testGameObject.AddPositionComponent();

            testGameObject.AddColliderComponent(0, 0, 323, 316);
            testGameObject.AddAnimationComponent(new Dictionary <int, string> {
                { 0, @"Brick\grey_brick\animation_1\grey_brick_animation_1_frame_01" },
                { 1, @"Brick\grey_brick\animation_1\grey_brick_animation_1_frame_02" }
            });
            testGameObject.AddScriptComponent(typeof(PersonScriptAction), typeof(PersonAnimationScriptAction));
            _gameSynchronizer = GetGameSynchronizer();
            _gameSynchronizer.SceneTrackedManager.Add(Guid.Parse("eaa77993-1b03-4060-82a2-f00111ae6efe"), gameScene);
            //_gameSynchronizer.Initialize();
            _gameSynchronizer.GameObjectTrackedManager.Add(Guid.NewGuid(), testGameObject);
            _gameSynchronizer.GameObjectComponentTrackedManager.Add(Guid.NewGuid(), positionComponent);
            _gameSynchronizer.GameObjectComponentTrackedManager.Add(Guid.NewGuid(), textureComponent);
            gameScene.Initialize();
            var contentManager = GetContentManager <IScene>();
            var content        = contentManager.Save(gameScene);

            File.WriteAllText(@"D:\Temp\Game\azaza.json", content);
            var scene = contentManager.Load(File.ReadAllText(@"D:\Temp\Game\azaza.json"));

            scene.Initialize();
            Scenes.Add(scene);
        }
 /// <summary>
 /// 指定した名前でシーンを追加する
 /// </summary>
 /// <param name="sceneName">シーンの名前</param>
 /// <param name="sceneInstance">対応するシーンのインスタンス</param>
 public static void AddScene(SceneName sceneName, IScene sceneInstance)
 {
     if (!Scenes.ContainsKey(sceneName))
     {
         Scenes.Add(sceneName, sceneInstance);
     }
 }
Exemplo n.º 8
0
        protected async Task LoadScene(Scene scene)
        {
            if (scene == null)
            {
                return;
            }

            if (!Scenes.Contains(scene))
            {
                Scenes.Add(scene);
                scene.PrevScene = Currrent;
            }

            IsLoading = true;

            // await UnloadUIComponent();
            // Currrent = scene;
            // await LoadUIComponent(scene.Content as UIElement);

            await SwitchComponentInSlide(scene.Content as UIElement);

            Currrent = scene;

            IsLoading = false;
        }
Exemplo n.º 9
0
 public void AddScene(params KeyValuePair <GameState, Scene>[] scenes)
 {
     foreach (var scene in scenes)
     {
         Scenes.Add(scene.Key, scene.Value);
     }
 }
Exemplo n.º 10
0
    static Helper()
    {
        Tags.Add(TagName.Room, "Room");
        Tags.Add(TagName.MovementCurvy, "MoveCurvy");
        Tags.Add(TagName.Difficulty, "Difficulty");

        Resource.Add(TagName.RightTarget, "Sprites/RightTarget");
        Resource.Add(TagName.WrongTarget, "Sprites/WrongTarget");
        Resource.Add(TagName.NeutralTarget, "Sprites/NeutralTarget");
        Resource.Add(TagName.DeadTarget, "Sprites/DeadTarget/among-dead");
        Resource.Add(TagName.TargetPrefab, "Assets/Client/Prefabs/Target.prefab");

        Difficulty.Add(TagName.Easy, "Easy");
        Difficulty.Add(TagName.Medium, "Medium");
        Difficulty.Add(TagName.Hard, "Hard");

        Scenes.Add(TagName.DefaultShootingGallery, "DefaultShootingGallery");
        Scenes.Add(TagName.MainMenu, "Menu");

        SaveFiles.Add(TagName.PlayerSave, "/SaveFiles.save");

        Audio.Add(TagName.AmongDeathSound, "among-death");
        Audio.Add(TagName.GunShotSound, "gun-shot");
        Audio.Add(TagName.RicochetSound, "ricochet");
        Audio.Add(TagName.MistakeShotSound, "mistake-shot");
    }
Exemplo n.º 11
0
        /// <summary>
        /// Загружает сцены с помощью комонента Loader и
        /// </summary>
        public void LoadScenes()
        {
            if (IsAborted)
            {
                return;
            }
            if (Scenes.Count == 0)
            {
                Scenes.Add("Scene 1", new CardsNewDBScene(this));
            }


            foreach (KeyValuePair <string, Scene> Sc in Scenes)
            {
                Sc.Value.GetComponent <Loader>().Load();
            }
            SceneNomer = 0;
            List <string> ScenesKeys = new List <string>();

            foreach (KeyValuePair <string, Scene> Sc in Scenes)
            {
                ScenesKeys.Add(Sc.Key);
            }

            CurScene = Scenes[ScenesKeys[0]];
        }
Exemplo n.º 12
0
 public void AddScene(string sceneName, GameScene scene)
 {
     if (!Scenes.ContainsKey(sceneName))
     {
         Scenes.Add(sceneName, scene);
     }
 }
Exemplo n.º 13
0
        public SectionBase AddSubsection()
        {
            var subsection = new Scene();

            Scenes.Add(subsection);
            return(subsection);
        }
Exemplo n.º 14
0
        public string SegregateScenes(int _tasksCount = 3, int _unitsCount = 3)
        {
            TimeSpan Dur       = VideoInfo.Duration;
            int      NumScenes = (int)Math.Ceiling(VideoInfo.Duration.TotalMinutes / 2);

            //Scenes = new ObservableCollection<Scene>();
            Scenes.Clear();
            for (int i = 1; i <= NumScenes; i++)
            {
                Scene s      = new Scene();
                int   nextid = 0;
                if (Scenes.Count > 0)
                {
                    nextid = Scenes.Max(a => a.Id);
                }
                s.Id                     = ++nextid;
                s.Position               = i;
                s.UnitsCount             = _unitsCount;
                s.TasksCount             = _tasksCount;
                s.VideoSegment.TimeBegin = TimeSpan.FromSeconds((i - 1) * 120);
                if (i < NumScenes)
                {
                    s.VideoSegment.TimeEnd = TimeSpan.FromSeconds(i * 120);
                }
                else
                {
                    s.VideoSegment.TimeEnd = VideoInfo.Duration - TimeSpan.FromSeconds(0.5);
                }
                s.VideoSegment.Source = VideoInfo.Source;
                Scenes.Add(s);
            }

            return("someShit");
        }
Exemplo n.º 15
0
 public void RegisterScene(Scene scene)
 {
     if (!NamedScenes.ContainsKey(scene.GetType()))
     {
         NamedScenes.Add(scene.GetType(), scene);
         Scenes.Add(scene);
     }
 }
Exemplo n.º 16
0
 public void AddScene(int id, Scene scene)
 {
     Scenes.Add(id, scene);
     scene.Camera.Width  = GameApplication.GameWindowSize.Width;
     scene.Camera.Height = GameApplication.GameWindowSize.Height;
     scene.Camera.UpdateCameraBounds();
     scene.OnCreate();
 }
Exemplo n.º 17
0
        public void AddScene(string sceneName)
        {
            LoadScene loadScene = new LoadScene
            {
                SceneName = sceneName
            };

            Scenes.Add(loadScene);
        }
Exemplo n.º 18
0
 public TaskDesc(ProjectDesc proj, XmlElement tnode)
 {
     ParentProject = proj;
     Name          = tnode.GetAttribute("Name");
     foreach (XmlElement snode in tnode.GetElementsByTagName("Scene"))
     {
         Scenes.Add(new SceneDesc(this, snode));
     }
 }
Exemplo n.º 19
0
        public override void Initialize(ISpriteBatch spriteBatch)
        {
            base.Initialize(spriteBatch);
            var menuSceneGenerator = (MenuSceneGenerator)ServiceProvider.GetService(typeof(MenuSceneGenerator));
            var menuScene          = menuSceneGenerator.Generate();

            menuScene.Initialize();
            Scenes.Add(menuScene);
        }
Exemplo n.º 20
0
        /// <summary>
        /// Set the current item
        /// </summary>
        /// <param name="guid">The guid of the item</param>
        /// <returns>true if the new item is set, false otherwise</returns>
        //public bool SetCurrent(Guid guid)
        //{
        //    var item = Items.Where(x => x.Guid == guid);
        //    if (item.Any())
        //    {
        //        IItem newItem = item.First();
        //        CurrentItem = newItem;

        //        //ResourceDictionary theme = Application.Current.MainWindow.Resources.MergedDictionaries[0];
        //        //ResourceDictionary appTheme = Application.Current.Resources.MergedDictionaries.Count > 0
        //        //                                  ? Application.Current.Resources.MergedDictionaries[0]
        //        //                                  : null;
        //        //theme.BeginInit();
        //        //theme.MergedDictionaries.Clear();
        //        //if (appTheme != null)
        //        //{
        //        //    appTheme.BeginInit();
        //        //    appTheme.MergedDictionaries.Clear();
        //        //}
        //        //else
        //        //{
        //        //    appTheme = new ResourceDictionary();
        //        //    appTheme.BeginInit();
        //        //    Application.Current.Resources.MergedDictionaries.Add(appTheme);
        //        //}
        //        //foreach (Uri uri in newTheme.UriList)
        //        //{
        //        //    ResourceDictionary newDict = new ResourceDictionary {Source = uri};
        //        //    /*AvalonDock and menu style needs to move to the application
        //        //     * 1. AvalonDock needs global styles as floatable windows can be created
        //        //     * 2. Menu's need global style as context menu can be created
        //        //    */
        //        //    if (uri.ToString().Contains("AvalonDock") ||
        //        //        uri.ToString().Contains("Wide;component/Interfaces/Styles/VS2012/Menu.xaml"))
        //        //    {
        //        //        appTheme.MergedDictionaries.Add(newDict);
        //        //    }
        //        //    else
        //        //    {
        //        //        theme.MergedDictionaries.Add(newDict);
        //        //    }
        //        //}
        //        //appTheme.EndInit();
        //        //theme.EndInit();
        //        _logger.Log("projectfile item set to " + newItem.Name, LogCategory.Info, LogPriority.None);
        //        _eventAggregator.GetEvent<ItemChangeEvent>().Publish(newItem);
        //    }
        //    return false;
        //}

        /// <summary>
        /// Adds a base item to the project-file manager
        /// </summary>
        /// <param name="theme">The item to add</param>
        /// <returns>true, if successful - false, otherwise</returns>
        public bool AddScene(SceneDataModel scene)
        {
            if (!Scenes.Contains(scene))
            {
                Scenes.Add(scene);
                return(true);
            }
            return(false);
        }
Exemplo n.º 21
0
        private void Prepare()
        {
            foreach (var scene in _sceneManager.SceneCache.Keys)
            {
                Scenes.Add(scene);
            }

            _gameLoop.Start(); // ???
        }
Exemplo n.º 22
0
        // Methods
        #region Implementation of SceneContainer

        /// <summary>
        /// Adds the specified <see cref="Rewtek.GameLibrary.Game.Scenes.Scene"/>.
        /// </summary>
        /// <param name="scene">The <see cref="Rewtek.GameLibrary.Game.Scenes.Scene"/>.</param>
        public void Add(Scene scene)
        {
            scene.Parent = this;
            Logger.Log("Adding scene {0}.", scene.GetType().Name);

            scene.OnEnter();

            Scenes.Add(scene);
        }
Exemplo n.º 23
0
        /// <summary>
        /// Register a scene to the engine scene with a default order of execution
        /// </summary>
        /// <param name="scene"></param>
        /// <returns></returns>
        public bool RegisterScene(Scene scene)
        {
            if (scene == null)
            {
                return(false);
            }

            Scenes.Add(Scenes.Count, scene);
            return(true);
        }
Exemplo n.º 24
0
        private void AddScene()
        {
            var scene = new Scene
            {
                Name = "New scene"
            };

            Scenes.Add(scene);
            OpenDetail(scene);
            ReloadTags();
        }
Exemplo n.º 25
0
        private void AddSceneButton_Click(object sender, RoutedEventArgs e)
        {
            var scene = new Scene
            {
                Id = Guid.NewGuid()
            };

            Scenes.Add(scene);
            SceneList.SelectedIndex = Scenes.Count - 1;
            _hubProxy.Invoke("AddScene", scene);
        }
Exemplo n.º 26
0
        private void ExecuteAddScene()
        {
            IsAddingScene = true;
            AddSceneCommand.RaiseCanExecuteChanged();
            var sceneViewModel = new SceneViewModel(new Scene(_bridge), this, _commandFactory);

            Scenes.Add(sceneViewModel);
            SelectedScene = sceneViewModel;
            IsAddingScene = false;
            AddSceneCommand.RaiseCanExecuteChanged();
        }
Exemplo n.º 27
0
 public void CreateScene()
 {
     Position.Scene = new SceneDescription();
     Scenes.Add(Position.Scene);
     Position.Scene.Name = $"Scene #{Scenes.Count}";
     Position.Clear();
     SetPage(null);
     NotifyPropertyChanged("Position");
     NotifyPropertyChanged("CanGoBack");
     NotifyPropertyChanged("CanGoFirther");
 }
Exemplo n.º 28
0
        protected override void Load()
        {
            MainScene scene = new MainScene();

            camera = new Camera(0, 0, Configuration.Width, Configuration.Height);
            Scenes.Add(scene);
            SwitchScene(MainScene.ID);
            Content.ContentRoot = "../../../Content/TestProject/";

            base.Load();
        }
Exemplo n.º 29
0
        private void LoadScenes(XmlNode parent)
        {
            if (parent.ChildNodes != null)
            {
                Scenes.Clear();
            }
            SceneDescription d;

            foreach (XmlNode node in parent.ChildNodes)
            {
                d = new SceneDescription();
                // traverse each attribute
                foreach (XmlAttribute a in node.Attributes)
                {
                    switch (a.Name)
                    {
                    case XmlAttributeNames.Name:
                        d.Name = a.Value;
                        break;

                    case XmlAttributeNames.Description:
                        d.Description = a.Value;
                        break;

                    case XmlAttributeNames.Column:
                        d.Column = Int32.Parse(a.Value);
                        break;

                    case XmlAttributeNames.TimePosition:
                        d.TimePosition = Int32.Parse(a.Value);
                        break;

                    case XmlAttributeNames.Duration:
                        d.Duration = Int32.Parse(a.Value);
                        break;
                    }
                }
                foreach (XmlNode contentNode in node.ChildNodes)
                {
                    IContent content = new UnrecognizedContent();
                    foreach (IRiddleHandler h in ContentHandlers)
                    {
                        if (h.CanLoad(contentNode))
                        {
                            content = h.Load(contentNode);
                        }
                    }
                    d.Pages.Add(content);
                }
                Scenes.Add(d);
            }
        }
Exemplo n.º 30
0
 public void AddScene(IGraphScene <TItem, TEdge> scene)
 {
     if (scene != null && !Scenes.Contains(scene))
     {
         Scenes.Add(scene);
         var graph = scene.Graph;
         RegisterBackGraph(graph);
         graph.GraphChange -= this.VisualGraphChange;
         graph.GraphChange += this.VisualGraphChange;
         graph.ChangeData  -= this.VisualGraphChangeData;
         graph.ChangeData  += this.VisualGraphChangeData;
     }
 }