Esempio n. 1
0
        public void TestSceneSerializeDeserialize()
        {
            string dirname = Path.GetRandomFileName();

            try
            {
                MakerSquare.FileSystem.Manager.Initialize(dirname);
                var fsmanager = MakerSquare.FileSystem.Manager.Instance;
                SavedFilesManager savedFilesManager = new SavedFilesManager(fsmanager);
                var ram_entity = new Entity(new Position(12f, 14.3f));
                ram_entity.Name = "Potato!";
                var scene = new SavedScene();
                scene.entities.Add(ram_entity);
                savedFilesManager.SaveScene(scene, "rammy");
                savedFilesManager.LoadScene(out SavedScene file_scene, "rammy");
                Assert.IsTrue(file_scene.entities[0].Name == scene.entities[0].Name);
            }
            catch (MakerSquare.SavingSystem.CannotLoadFileException)
            {
            }
            catch (MakerSquare.SavingSystem.CannotSaveFileException)
            {
            }
            finally
            {
                CleanupDirectory(dirname);
            }
        }
Esempio n. 2
0
    /// <summary>
    /// Save each editable game objects informations.
    /// </summary>
    public void SaveGameObjects(string savingID)
    {
        SavedScene savedScene = new SavedScene(SceneManager.GetActiveScene().name, editableGameObjects);

        CreateSavingDirectoryIfNotExist(savedScene.name);

        File.WriteAllText(SAVING_DIRECTORY + "/" + savingID, JsonUtility.ToJson(savedScene));
    }
Esempio n. 3
0
        public static void CreateMenuScene(Game game)
        {
            var jouer_entity = new Entity(true);

            jouer_entity.Name        = "jouer";
            jouer_entity.Transform.x = 300;
            jouer_entity.Transform.y = 200;
            var jouer_cmp       = new Engine.System.UI.ImageButtonComponent(jouer_entity);
            var jouer_img_asset = new Engine.System.UI.ImageAsset();

            jouer_img_asset.ContentName = "bouton_jouer";
            jouer_cmp.onclick.action    = (entity, context) => { Embed.LoadScene("game_scene", Engine.Core.Game.Instance); };

            jouer_cmp.AddAsset(jouer_img_asset);
            jouer_entity.AddComponent(jouer_cmp);

            var quitter_entity = new Entity(true);

            quitter_entity.Name        = "quitter";
            quitter_entity.Transform.x = 288;
            quitter_entity.Transform.y = 275;
            var quitter_cmp       = new ImageButtonComponent(quitter_entity);
            var quitter_img_asset = new ImageAsset();

            quitter_img_asset.ContentName = "bouton_quitter";
            quitter_cmp.AddAsset(quitter_img_asset);
            jouer_cmp.onclick.contextRefs = null;
            quitter_cmp.onclick.action    = (entity, context) => { Game.Instance.Exit(); };
            quitter_entity.AddComponent(quitter_cmp);

            var text_entity = new Entity(true);

            text_entity.Name        = "text";
            text_entity.Transform.x = 230;
            text_entity.Transform.y = 100;
            var text_cmp = new UITextComponent(text_entity);

            text_cmp.Text     = "Makers² : le jeu démo !";
            text_cmp.Color    = new Vector4(0, 0, 0, 1);
            text_cmp.FontSize = 36;


            var font_asset = new FontAsset();

            font_asset.ContentName = "coolvetica";
            text_cmp.AddAsset(font_asset);
            text_entity.AddComponent(text_cmp);

            var save_manager = new SavedFilesManager(Manager.Instance);
            var PreSave      = new List <Entity> {
                jouer_entity, quitter_entity, text_entity
            };
            var scene = new SavedScene();

            scene.entities = PreSave;
            save_manager.SaveScene(scene, "menu_scene");
        }
Esempio n. 4
0
 private void PlaceGameObjects(SavedScene savedScene)
 {
     Debug.Log("test");
     foreach (SavedGameObject savedGameObject in savedScene.savedGameObjects)
     {
         GameObject gameObject = GameObject.Find(savedGameObject.title);
         gameObject.transform.position = savedGameObject.position;
         gameObject.transform.rotation = savedGameObject.rotation;
     }
 }
Esempio n. 5
0
        public static void CreateGameScene(Game game)
        {
            var bg_ent = new Entity(true);

            bg_ent.Transform.x = 0;
            bg_ent.Transform.y = 0;
            bg_ent.AddComponent(new SpriteComponent(bg_ent, "CloudBackgroundSmall", true));
            bg_ent.AddComponent(new AudioComponent(bg_ent, "NyanCat", false, false, true));

            Bat      bat      = new Bat();
            Ball     ball     = new Ball();
            Breakout breakout = new Breakout(1, 0, ball);

            /*    breakout.CreateBricks(200, 200, "Brick", 100);
             *  breakout.CreateBricks(200, 400, "Brick", 100);
             *  breakout.CreateBricks(200, 600, "Brick", 100);
             *  breakout.CreateBricks(200, 800, "Brick", 100);
             */

            var invisibleWallLeft  = new InvisibleWall(new Vector2(0, 0), new Vector2(5, 980));
            var invisibleWallRight = new InvisibleWall(new Vector2(640, 0), new Vector2(5, 980));
            var invisibleWallTop   = new InvisibleWall(new Vector2(0, 0), new Vector2(1240, 5));
            var invisibleWallDown  = new InvisibleWall(new Vector2(0, 480), new Vector2(1240, 5), true);


            var bricks    = BrickArenaBuilder.CreateNew().Init().Build();
            var santa_ent = SantaBuilder.CreateNew().Init(game).Build();

            var camera_ent = new Entity(true);

            /*    var cameraInput = new InputComponent(camera_ent);
             *  ActionDelegate cam_up = (entity, dict) => { CameraManager.MoveCameraY(-1); };
             *  ActionDelegate cam_down = (entity, dict) => { CameraManager.MoveCameraY(1); };
             *  ActionDelegate cam_right = (entity, dict) => { CameraManager.MoveCameraX(1); };
             *  ActionDelegate cam_left = (entity, dict) => { CameraManager.MoveCameraX(-1); };
             *
             *  cameraInput.AddAction("cam_up", OnKey.DOWN, Key.Z, null, cam_up);
             *  cameraInput.AddAction("cam_down", OnKey.DOWN, Key.S, null, cam_down);
             *  cameraInput.AddAction("cam_right", OnKey.DOWN, Key.D, null, cam_right);
             *  cameraInput.AddAction("cam_left", OnKey.DOWN, Key.Q, null, cam_left);
             *  camera_ent.AddComponent(cameraInput);*/

            var save_manager = new SavedFilesManager(Manager.Instance);
            var PreSave      = new List <Entity> {
                bg_ent,
                camera_ent, invisibleWallTop, invisibleWallDown, invisibleWallLeft, invisibleWallRight, breakout, ball, bat
            };

            //  PreSave.AddRange(bricks);
            PreSave.AddRange(breakout.wall);
            var scene = new SavedScene();

            scene.entities = PreSave;
            save_manager.SaveScene(scene, "game_scene");
        }
Esempio n. 6
0
        public static void LoadScene(string scene_name, Engine.Core.Game game, bool additively = false)
        {
            var save_manager = new SavedFilesManager(MakerSquare.FileSystem.Manager.Instance);
            var scene        = new SavedScene();

            save_manager.LoadScene(out scene, scene_name);

            if (!additively)
            {
                EntityManager.UnloadEntities();
            }

            EntityManager.AddListEntityInList(scene.entities);
            if (game.IsActive)
            {
                EntityManager.PostContentLoad();
            }
        }
Esempio n. 7
0
    /// <summary>
    /// load games objects data and place them on the scene.
    /// </summary>
    /// <returns>boolean : true if savingID exist false elsewhere</returns>
    public bool LoadGameObjects(string savingID)
    {
        currentSave = savingID;
        string savingPath = SAVING_DIRECTORY + '/' + savingID;

        Debug.Log("test1");

        if (File.Exists(savingPath))
        {
            string     data       = File.ReadAllText(savingPath);
            SavedScene savedScene = JsonUtility.FromJson(data, typeof(SavedScene)) as SavedScene;

            PlaceGameObjects(savedScene);
            currentSave = savingID;
            return(true);
        }

        return(false);
    }
Esempio n. 8
0
 public void SaveScene(SavedScene scene, string scene_name)
 {
     SaveSerializableItem(scene, Path.Combine(_project_dir, "Scenes", scene_name + ".scene"));
 }
Esempio n. 9
0
 public void LoadScene(out SavedScene scene, string scene_name)
 {
     LoadSerializableItem(out scene, Path.Combine(_project_dir, "Scenes", scene_name + ".scene"));
 }