Exemple #1
0
    /// <summary>
    ///  读取内存中的存档值
    /// </summary>
    /// <typeparam name="T1">赋值操作对象类型。</typeparam>
    /// <typeparam name="T2">你希望保存组件对象类型
    /// 请务必保证该类型中的泛型,是你希望保存组件对象类型</typeparam>
    /// <param name="gameObject">gameObject</param>
    /// <param name="sceneName">场景名,不填为当前场景</param>
    /// <returns></returns>
    public static bool LoadComponent <T1, T2>(this GameObject gameObject, string sceneName = "")
        where T1 : ISave <T2>
        where T2 : Component
    {
        if (gameObject.CheckEmpty())
        {
            return(false);
        }
        T2 component = gameObject.GetComponent <T2>();

        if (component.CheckEmpty())
        {
            return(false);
        }

        SaveObject saveObject = GetSaveObjectData(gameObject.name, sceneName);
        SetValue   setValue   = GetComponentSetValue <T1, T2>(gameObject, saveObject);

        if (null == setValue)
        {
            return(false);
        }
        bool result = GameSaveSystem.Load <T1, T2>(component, setValue);

        return(result);
    }
Exemple #2
0
    void InitGameData()
    {
        GameObject player = null;

        foreach (Interactions Charac in FindObjectsOfType <Interactions>())
        {
            if (Charac.gameObject.name == "Kenneth")
            {
                player = Charac.gameObject;
            }
        }

        if (GameObject.FindGameObjectWithTag("Player"))
        {
            GameSaveSystem.GameDataInput(
                Camera.main.GetComponent <CameraFollow>().gameObject,
                FindObjectOfType <ActiveCharacterScript>(),
                player,
                FindObjectOfType <DayNightLight>(),
                GameObject.FindObjectOfType <Ken_Canvas_Infos>().transform.Find("Panel").Find("Carnet").Find("Goal").Find("GoalFrame").GetComponent <CarnetGoal>(),
                GameObject.FindObjectOfType <StickersGivenToPNJ>(),
                GameObject.FindObjectOfType <CanvasManager>().GetCanvas("Board_FIX").transform
                );
        }

        GameSaveSystem.SettingsDataInput(
            Resources.Load <AudioMixer>("SoundMixer/MusicMixer"),
            Resources.Load <AudioMixer>("SoundMixer/FXMixer"),
            FindObjectOfType <LanguageManager>(),
            GetMenuSettings()
            );

        //StartCoroutine(TimerLoad());
    }
Exemple #3
0
    public void LoadSave()
    {
        GameSaveSystem.gameToLoad = true;
        string levelName = "InterScene" + GameSaveSystem.ReturnLevelName();

        //Debug.Log(GameSaveSystem.ReturnLevelName());
        SceneManager.LoadScene(levelName);
    }
Exemple #4
0
 private void InitManager()
 {
     GameSave = GameSaveSystem.GetInstance();
     Event    = EventCenter.GetInstance();
     Music    = MusicMgr.GetInstance();
     Scenes   = ScenesMgr.GetInstance();
     UI       = UIManager.GetInstance();
     Res      = ResMgr.GetInstance();
 }
Exemple #5
0
 /// <summary>
 /// 保存全局数据,只读当前内存中的存档
 /// </summary>
 /// <typeparam name="T1">赋值操作对象类型。</typeparam>
 /// <typeparam name="T2">你希望保存组件对象类型
 /// 请务必保证该类型中的泛型,是你希望保存组件对象类型</typeparam>
 /// <param name="component">全局对象</param>
 public static void SaveGobal <T1, T2>(this T2 component)
     where T1 : ISave <T2>
 {
     if (component.CheckEmpty())
     {
         return;
     }
     GameSaveSystem.SaveGobal <T1, T2>(component);
 }
 public void SaveGame()
 {
     //Debug.Log("SaveGame");
     //LIGNE DE COMMANDE DE SAVE GAME
     GameSaveSystem.SaveGameData();
     //GameObject.Find("Saver").GetComponent<Saver>().MakeASave();
     transform.GetChild(9).GetChild(0).GetComponent <Text>().text = LanguageManager.Instance.GetDialog("Menu_03");
     transform.GetChild(9).GetComponent <Animator>().SetTrigger("Save"); //feedbackSave
 }
    public void InitLanguage()
    {
        SettingsData settingsSave = GameSaveSystem.LoadSettingsData();

        if (settingsSave.gameLanguage != language)
        {
            language = settingsSave.gameLanguage;
        }
    }
Exemple #8
0
 public static void SaveComponent <T1, T2>(this T2 component, string sceneName = "")
     where T1 : ISave <T2>
     where T2 : Component
 {
     if (component.CheckEmpty())
     {
         return;
     }
     GameSaveSystem.SaveComponent <T1, T2>(component.gameObject, component, sceneName);
 }
Exemple #9
0
    private void Start()
    {
        GameSaveSystem.Init();
        InitGameData();
        BuildRoomList();

        LoadSettings();
        //Debug.Log(GameSaveSystem.gameToLoad);
        LoadAtStart();
    }
 public void SingelTon()
 {
     if (Instans != null)
     {
         Destroy(gameObject);
     }
     else
     {
         Instans = this;
         DontDestroyOnLoad(gameObject);
     }
 }
Exemple #11
0
 public void OpenBoardExe()
 {
     dialAndBookCanvas.SetActive(false);
     boardCanvas.SetActive(true);
     CanvasManager.CManager.GetCanvas("Board_FIX").GetComponent <String_Manager>().SavePositions();
     Camera.main.GetComponent <Camera_Manager>().OnBoard();
     GetComponent <PlayerMemory>().CheckStickersBoard();
     ChangeState(State.OnBoard);
     Camera.main.GetComponent <CameraFollow>().actualRoom.SetActive(false);
     gameObject.GetComponent <Rigidbody2D>().gravityScale = 0;
     GameObject.FindObjectOfType <SaveFile>().ReturnStickersOnBoard(GameSaveSystem.LoadGameData(), CanvasManager.CManager.GetCanvas("Board_FIX").transform);
 }
Exemple #12
0
 void Awake()
 {
     if (instance != null && instance != this)
     {
         Destroy(gameObject);
         return;
     }
     else
     {
         instance = this;
     }
     //File.Delete(Application.persistentDataPath + "/SaveData.dat");
 }
Exemple #13
0
    /// <summary>
    /// 保存场景对象组件,只写进内存中的存档
    /// </summary>
    /// <typeparam name="T1">赋值操作对象类型。</typeparam>
    /// <typeparam name="T2">你希望保存组件对象类型
    /// 请务必保证该类型中的泛型,是你希望保存组件对象类型</typeparam>
    /// <param name="gameObject">gameObject</param>
    /// <param name="sceneName">场景名,不填为当前场景</param>
    public static void SaveComponent <T1, T2>(this GameObject gameObject, string sceneName = "")
        where T1 : ISave <T2>
    {
        if (gameObject.CheckEmpty())
        {
            return;
        }
        T2 component = gameObject.GetComponent <T2>();

        if (component.CheckEmpty())
        {
            return;
        }
        GameSaveSystem.SaveComponent <T1, T2>(gameObject, component, sceneName);
    }
Exemple #14
0
    /// <summary>
    /// 读取内存中的全局数据
    /// </summary>
    /// <typeparam name="T1">赋值操作对象类型。</typeparam>
    /// <typeparam name="T2">你希望保存组件对象类型
    /// 请务必保证该类型中的泛型,是你希望保存组件对象类型</typeparam>
    /// <param name="component">全局对象</param>
    /// <returns></returns>
    public static bool LoadGobal <T1, T2>(this T2 component)
        where T1 : ISave <T2>
    {
        if (component.CheckEmpty())
        {
            return(false);
        }
        string    componentName = typeof(T2).Name;
        GobalData gobalData     = GetGobalObjectData(componentName);
        SetValue  setValue      = GetGobalSetValue <T1, T2>(gobalData);

        if (null == setValue)
        {
            return(false);
        }
        bool result = GameSaveSystem.Load <T1, T2>(component, setValue);

        return(result);
    }
Exemple #15
0
 protected override void OnCreate()
 {
     gameSaveSystem = World.GetExistingSystem <GameSaveSystem>();
 }
Exemple #16
0
 public void SaveSettings()
 {
     GameSaveSystem.SaveSettingsData();
     //Debug.Log("Settings Saved !");
 }
Exemple #17
0
 public void SaveGame()
 {
     GameSaveSystem.SaveGameData();
 }
Exemple #18
0
 public void LoadGame()
 {
     ReturnGameData(GameSaveSystem.LoadGameData());
 }
Exemple #19
0
 public void LoadSettings()
 {
     ReturnSettingsData(GameSaveSystem.LoadSettingsData());
     //Debug.Log("Settings Loaded !");
 }
Exemple #20
0
        private async void Awake()
        {
            var configLoader = new ResourcesConfigLoader <ConfigRoot>(_configPath);

            var world   = World.DefaultGameObjectInjectionWorld;
            var manager = world.EntityManager;

            var config = (await configLoader.Load()).GameConfig;

            var gameAreaSettings = new GameAreaSettings(config.GameAreaWidth, config.GameAreaHeight);

            var blobsSpawnerSettings = new BlobsSpawningSettings
                                       (
                config.NumUnitsToSpawn, config.UnitSpawnDelay / 1000f,
                config.MinUnitRadius, config.MaxUnitRadius,
                config.MinUnitSpeed, config.MaxUnitSpeed,
                0.2f, -1, gameAreaSettings, _redBlobMaterial, _blueBlobMaterial
                                       );


            // DI
            var simulationTime = new SimulationTime();

            manager.World.GetExistingSystem <MovementSystem>().Resolve(simulationTime);

            manager.World.GetExistingSystem <InstancedSpriteRendererSystem>()
            .RegisterMaterial(_redBlobMaterial.name.GetHashCode(), _redBlobMaterial);
            manager.World.GetExistingSystem <InstancedSpriteRendererSystem>()
            .RegisterMaterial(_blueBlobMaterial.name.GetHashCode(), _blueBlobMaterial);

            var barrier = new GameAreaBarrier(manager, gameAreaSettings);

            FindObjectOfType <GameAreaView>().Resolve(barrier);
            FindObjectOfType <UiTimescaleSlider>().Resolve(simulationTime);
            FindObjectOfType <CameraZoomToGameAreaBehaviour>().Resolve(barrier);

            var blobsSpawner = new BlobsSpawner(manager, blobsSpawnerSettings, simulationTime);

            var winObserver = new GameWinObserver(manager);

            var gameSaveSystem = new GameSaveSystem(new SaveStorage(), barrier, simulationTime);

            var uiSaveLoadButtons = FindObjectOfType <UiSaveLoadButtons>();

            uiSaveLoadButtons.Resolve(gameSaveSystem);

            var startNewGameButton = FindObjectOfType <UiStartNewGameButton>();
            var gameBehaviour      = FindObjectOfType <GameBehaviour>();

            gameBehaviour.Resolve(manager, winObserver, uiSaveLoadButtons, blobsSpawner, startNewGameButton);
            startNewGameButton.Resolve(gameBehaviour);

            FindObjectOfType <UiPopupsController>().Resolve(winObserver, gameBehaviour, simulationTime);

            FindObjectOfType <UiGameInfo>().Resolve(winObserver);

            FindObjectOfType <GizmosDebugger>().Resolve(manager);

            _tickables.Add(winObserver);
            _tickables.Add(simulationTime);
            _tickables.Add(uiSaveLoadButtons);

            _finishedInitialization = true;
        }
Exemple #21
0
 protected override void OnCreate()
 {
     gameSaveSystem = World.GetExistingSystem <GameSaverSystemMock>();
     IsReady        = true;
 }
Exemple #22
0
    void Awake()
    {
        SettingsData settingsData = GameSaveSystem.LoadSettingsData();

        isBlackAndWhite = settingsData.isBlAndWht;
    }