Example #1
0
    public void Save()
    {
        BinaryFormatter binary = new BinaryFormatter ();
        FileStream fStream = File.Create(Application.persistentDataPath + "/savefile.sav");

        SaveManager saver = new SaveManager ();

        //initialize arrays
        saver.xcoordinates = new float[AOGameObjects];
        saver.ycoordinates = new float[AOGameObjects];
        saver.zcoordinates = new float[AOGameObjects];
        saver.rotationx = new float[AOGameObjects];
        saver.rotationy = new float[AOGameObjects];
        saver.rotationz = new float[AOGameObjects];
        saver.rotationw = new float[AOGameObjects];
        saver.active = new bool[AOGameObjects];

        //Stuff to save!!!
        for (int i = 0; i < AOGameObjects; i++) {
            GameObject ObjectToSave = allObjects[i];
            saver.xcoordinates [i] = ObjectToSave.transform.position.x;
            saver.ycoordinates [i] = ObjectToSave.transform.position.y;
            saver.zcoordinates [i] = ObjectToSave.transform.position.z;
            saver.rotationx [i] = ObjectToSave.transform.forward.x;
            saver.rotationy [i] = ObjectToSave.transform.forward.y;
            saver.rotationz [i] = ObjectToSave.transform.forward.z;
            saver.rotationw [i] = ObjectToSave.transform.localRotation.w;
            saver.active[i] = ObjectToSave.activeInHierarchy;
        }

        binary.Serialize (fStream, saver);
        fStream.Close ();
        print ("game saved");
    }
Example #2
0
        static void Main(string[] args)
        {
            Thread.CurrentThread.Name = "SMain";

            var path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData);
            path = System.IO.Path.Combine(path, "Dwarrowdelf", "save");
            if (!System.IO.Directory.Exists(path))
                System.IO.Directory.CreateDirectory(path);

            var gameDir = path;

            bool cleanSaves = true;

            SaveManager saveManager = new SaveManager(gameDir);

            Guid save = Guid.Empty;

            if (cleanSaves)
                saveManager.DeleteAll();
            else
                save = saveManager.GetLatestSaveFile();

            var gf = new GameFactory();
            GameEngine game;

            if (save == Guid.Empty)
                game = (GameEngine)gf.CreateGame(gameDir, GameMode.Fortress, GameMap.Fortress);
            else
                game = (GameEngine)gf.LoadGame(gameDir, save);

            var keyThread = new Thread(KeyMain);
            keyThread.Start(game);

            game.Run(null);
        }
Example #3
0
    public void Awake()
    {
        // never destroy Save Manager on scene load
        DontDestroyOnLoad (this);

        SaveManager.instance = this;
        saveInfo = new SaveInfo[maxSaveSlots];
    }
Example #4
0
    void Awake()
    {
        if (instance == null)
            instance = this;
        else if (instance != this)
            Destroy(gameObject);

        DontDestroyOnLoad(gameObject);

    }
 void Awake()
 {
     if (instance != null && instance != this) {
         Destroy( this.gameObject );
         return;
     }
     else {
         instance = this;
     }
 }
Example #6
0
    void Start()
    {
        saveManager = ScriptableObject.CreateInstance<SaveManager>();
        saveManager.Init();

        if(balansUI != null)
        {
            balansUI.text = playerData.Balans.ToString();
        }
    }
Example #7
0
	// Use this for initialization
	void Start () {
        terrain.Init();

        order = new Dictionary<float, List<ClickScript>>();
        new_order = new Dictionary<float, List<ClickScript>>();

        on_hold = new List<ClickScript>();

        save_manager = new SaveManager();

        save_manager.Load(this);
    }
Example #8
0
        public Task StartAsync()
        {
            System.Windows.Threading.Dispatcher.CurrentDispatcher.VerifyAccess();

            if (ClientConfig.EmbeddedServer == EmbeddedServerMode.None)
                throw new Exception();

            var path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData);
            path = System.IO.Path.Combine(path, "Dwarrowdelf", "save");
            if (!System.IO.Directory.Exists(path))
                System.IO.Directory.CreateDirectory(path);

            var gameDir = path;

            bool cleanSaves = ClientConfig.CleanSaveDir;
            Guid save = Guid.Empty;

            m_saveManager = new SaveManager(gameDir);

            if (cleanSaves)
                m_saveManager.DeleteAll();
            else
                save = m_saveManager.GetLatestSaveFile();

            CreateEmbeddedServer(gameDir, save);

            var tcs = new TaskCompletionSource<object>();

            var serverStartWaitHandle = new AutoResetEvent(false);

            ThreadPool.RegisterWaitForSingleObject(serverStartWaitHandle,
                (o, timeout) =>
                {
                    serverStartWaitHandle.Dispose();

                    if (timeout)
                    {
                        m_serverThread.Abort();
                        tcs.SetException(new Exception("Timeout waiting for server"));
                    }
                    else
                    {
                        tcs.SetResult(null);
                    }
                },
                null, TimeSpan.FromSeconds(60), true);

            m_serverThread = new Thread(ServerMain);
            m_serverThread.Start(serverStartWaitHandle);

            return tcs.Task;
        }
    public void save()
    {
        Debug.Log ("You saved!");

        BinaryFormatter binary = new BinaryFormatter ();
        FileStream fStream = File.Create (Application.persistentDataPath + "/savefile.sav");

        SaveManager saver = new SaveManager ();
        saver.points = ScoreCounter.points;
        //all other...

        binary.Serialize (fStream, saver);
        fStream.Close ();
    }
Example #10
0
        public Task StartAsync(EmbeddedServerOptions options)
        {
            if (options.ServerMode == EmbeddedServerMode.None)
                throw new Exception();

            m_serverMode = options.ServerMode;
            m_gameOptions = options.NewGameOptions;

            if (!System.IO.Directory.Exists(options.SaveGamePath))
                System.IO.Directory.CreateDirectory(options.SaveGamePath);

            Guid save = Guid.Empty;

            m_saveManager = new SaveManager(options.SaveGamePath);

            if (options.CleanSaveDir)
                m_saveManager.DeleteAll();
            else
                save = m_saveManager.GetLatestSaveFile();

            CreateEmbeddedServer(options.SaveGamePath, save);

            var tcs = new TaskCompletionSource<object>();

            var serverStartWaitHandle = new AutoResetEvent(false);

            ThreadPool.RegisterWaitForSingleObject(serverStartWaitHandle,
                (o, timeout) =>
                {
                    serverStartWaitHandle.Dispose();

                    if (timeout)
                    {
                        m_serverThread.Abort();
                        tcs.SetException(new Exception("Timeout waiting for server"));
                    }
                    else
                    {
                        tcs.SetResult(null);
                    }
                },
                null, TimeSpan.FromSeconds(60), true);

            m_serverThread = new Thread(ServerMain);
            m_serverThread.Start(serverStartWaitHandle);

            return tcs.Task;
        }
Example #11
0
	void Save()
	{
		BinaryFormatter binary = new BinaryFormatter ();
		FileStream fStream = File.Create (Application.persistentDataPath + "saveFile.sav");

		SaveManager Saving = new SaveManager ();
		Saving.Power = dummyPowerscript.dPower.Power;
		//all other...



		binary.Serialize (fStream, Saving);
		fStream.Close ();


	}
Example #12
0
	public void Save(){
		BinaryFormatter bf = new BinaryFormatter ();
		FileStream file = File.Create(Application.persistentDataPath + "/PlayerData.dat");

		SaveManager saver = new SaveManager ();

		if (ScoreManager.PlayerS.playerScores == null) {
			Debug.Log("player iformation lost");
			return;
		}

		saver.playerScores = ScoreManager.PlayerS.playerScores;

		bf.Serialize (file, saver);
		file.Close ();


	}
Example #13
0
        static void Main(string[] args)
        {
            Thread.CurrentThread.Name = "SMain";

            var path = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), "save");

            if (!System.IO.Directory.Exists(path))
                System.IO.Directory.CreateDirectory(path);

            var gameDir = path;

            bool cleanSaves = true;

            SaveManager saveManager = new SaveManager(gameDir);

            Guid save = Guid.Empty;

            if (cleanSaves)
                saveManager.DeleteAll();
            else
                save = saveManager.GetLatestSaveFile();

            var gf = new GameFactory();
            IGame game;

            if (save == Guid.Empty)
                game = gf.CreateGame(gameDir,
                    new GameOptions()
                    {
                        Mode = GameMode.Fortress,
                        Map = GameMap.Fortress,
                        TickMethod = WorldTickMethod.Simultaneous
                    });
            else
                game = gf.LoadGame(gameDir, save);

            var keyThread = new Thread(KeyMain);
            keyThread.Start(game);

            game.Run(null);
        }
Example #14
0
    public SaveManager()
    {
        if (instance != null)
        {
            Debug.LogError ("Cannot have two instances of singleton. Self destruction in 3...");
            return;
        }

        instance = this;

        levelNutrients = new int[4,10];
        for (int world = 0; world < 4; world++) {
            for (int level = 0; level < 10; level++) {
                levelNutrients[world,level] = PlayerPrefs.GetInt("Level" + world + "-" + level, -1);
            }
        }

        // Always unlock first level
        if(levelNutrients[0,0] == -1) {
            levelNutrients[0,0] = 0;
        }
    }
    // Use this for initialization
    protected void Awake()
    {
        mainCamera = GameObject.FindGameObjectsWithTag("MainCamera")[0].GetComponent<CameraScript>();
        background = GameObject.FindGameObjectsWithTag("background")[0];

        playerColl = this.gameObject.GetComponent<Collider2D>();
        spriteManager = this.gameObject.GetComponent<PlayerSpriteManager>();
        movementManager = this.gameObject.GetComponent<PlayerMovementManager>();

        audioManager = AudioManager.GetInstance();
        saveManager = SaveManager.GetInstance();

        interruptMeditationFrames = 0;

        /* Detect which playform the user is playing on
        string[] desktopPlatforms = {"OSXEditor", "OSXPlayer", "WindowsPlayer", "OSXWebPlayer",
        "OSXDashboardPlayer", "WindowsWebPlayer", "WindowsEditor"};
        if (System.Array.IndexOf(desktopPlatforms, Application.platform) == -1) {
            onMobile = false;
        }
        else{
            onMobile = true;
        }*/
    }
Example #16
0
    public void Save()
    {
        BinaryFormatter binary = new BinaryFormatter ();
        FileStream fStream = File.Create(Application.persistentDataPath + "/savefile.sav");

        SaveManager saver = new SaveManager ();

        //initialize arrays
        saver.xcoordinates = new float[AOGameObjects];
        saver.ycoordinates = new float[AOGameObjects];
        saver.zcoordinates = new float[AOGameObjects];
        saver.rotationx = new float[AOGameObjects];
        saver.rotationy = new float[AOGameObjects];
        saver.rotationz = new float[AOGameObjects];
        saver.rotationw = new float[AOGameObjects];
        saver.active = new bool[AOGameObjects];

        int i = 0;
        //Stuff to save!!!
        foreach (Transform child in Parent) {
            saver.xcoordinates [i] = child.position.x;
            saver.ycoordinates [i] = child.transform.position.y;
            saver.zcoordinates [i] = child.transform.position.z;
            saver.rotationx [i] = child.forward.x;
            saver.rotationy [i] = child.forward.y;
            saver.rotationz [i] = child.forward.z;
            saver.rotationw [i] = child.localRotation.w;;
            saver.active[i] = child.gameObject.activeInHierarchy;
            i++;
        }
        i = 0;

        binary.Serialize (fStream, saver);
        fStream.Close ();
        print ("game saved2");
    }
Example #17
0
 SaveManager.Status StatusByNum(SaveManager sm,int num)
 {
     switch(num){
     case 0:
         return sm.alex;
     case 1:
         return sm.guylus;
     case 2:
         return sm.nely;
     case 3:
         return sm.rinmaru;
     case 4:
         return sm.medhu;
     default:
         return sm.alex;
     }
 }
Example #18
0
    void CheckForObjects()
    {
        if (GameObject.FindGameObjectWithTag("Minimap") != null)
        {
            visibleMap = GameObject.FindGameObjectWithTag("Minimap");
        }

        if (visibleMap != null)
            minimapStartPos = visibleMap.GetComponent<RectTransform>().localPosition;

        if (GameObject.FindGameObjectWithTag("Save") != null)
        {
            m_saveManager = GameObject.FindGameObjectWithTag("Save").GetComponent<SaveManager>();
        }
    }
Example #19
0
    // Check if there are events that are required at the end of the round
    public override void CheckNewRound()
    {
        Game game = Game.Get();

        // Return if there is an event open
        if (game.quest.eManager.currentEvent != null)
        {
            return;
        }

        // Return if there is an event queued
        if (game.quest.eManager.eventStack.Count > 0)
        {
            return;
        }

        if (game.quest.phase == Quest.MoMPhase.investigator)
        {
            return;
        }

        if (game.quest.phase == Quest.MoMPhase.mythos)
        {
            if (game.quest.monsters.Count > 0)
            {
                game.quest.phase = Quest.MoMPhase.monsters;
                game.stageUI.Update();
                ActivateMonster();
                return;
            }
            else
            {
                game.quest.phase = Quest.MoMPhase.horror;
                game.stageUI.Update();
                EndRound();
                return;
            }
        }

        if (game.quest.phase == Quest.MoMPhase.monsters)
        {
            game.quest.phase = Quest.MoMPhase.horror;
            game.stageUI.Update();
            return;
        }

        // Finishing the round
        // Clear all investigator activated
        foreach (Quest.Hero h in game.quest.heroes)
        {
            h.activated = false;
        }

        //  Clear monster activations
        foreach (Quest.Monster m in game.quest.monsters)
        {
            m.activated         = false;
            m.minionStarted     = false;
            m.masterStarted     = false;
            m.currentActivation = null;
        }

        // Advance to next round
        int round = Mathf.RoundToInt(game.quest.vars.GetValue("#round")) + 1;

        game.quest.vars.SetValue("#round", round);

        game.quest.log.Add(new Quest.LogEntry(new StringKey("val", "PHASE_INVESTIGATOR").Translate()));

        game.quest.phase = Quest.MoMPhase.investigator;
        game.stageUI.Update();
        game.monsterCanvas.UpdateList();

        game.audioControl.PlayTrait("newround");

        // Start of round events
        game.quest.eManager.EventTriggerType("StartRound");
        SaveManager.Save(0);
    }
        public Logic()
        {
            InitializeComponent();

            //this.navbar.PageChanging += (s, e) =>
            //{
            //    Settings.Commands = this.lstCommands.ToEnumerable();
            //};
            this.Disappearing += (s, e) =>
            {
                Turtle.Settings.Commands = this.lstCommands.ToEnumerable();
            };
            //add button clicked
            this.btnAddCommand.Clicked += (s, e) =>
            {
                Turtle.SoundManager.Play(Turtle.SoundManager.SND_CLICK);
                PopupNavigation.Instance.PushAsync(new Views.PopupAddCommand(
                                                       (s, e) =>
                {
                    var pop = (Views.PopupAddCommand)s;
                    this.lstCommands.Add(pop.ResultCommand, pop.ResultUnits);
                }),
                                                   true);
            };

            //clear button clicked
            this.btnClearCommands.Clicked += (s, e) =>
            {
                Turtle.SoundManager.Play(Turtle.SoundManager.SND_CLICK);
                this.lstCommands.Clear();
            };

            //save button clicked
            this.btnSaveCommands.Clicked += (s, e) =>
            {
                var cmds = this.lstCommands.ToEnumerable().ToList();
                if (cmds.Count > 0)
                {
                    Turtle.SoundManager.Play(Turtle.SoundManager.SND_CLICK);
                    PopupNavigation.Instance.PushAsync(new PopupSaveCommands(cmds, (s, e) => { }));
                }
                else
                {
                    Turtle.SoundManager.Play(Turtle.SoundManager.SND_ERROR);
                    PopupMessage.Show("Save", "Empty list can't be saved.");
                }
            };

            //load button clicked
            this.btnLoadCommands.Clicked += (s, e) =>
            {
                if (SaveManager.GetSavedCommandListCount() > 0 || SaveManager.PresetCommands?.Length > 0)
                {
                    Turtle.SoundManager.Play(Turtle.SoundManager.SND_CLICK);
                    PopupNavigation.Instance.PushAsync(
                        new PopupLoadCommands((s, e) => { ((PopupLoadCommands)s).Result.ForEach(x => this.lstCommands.Add(x.Key, x.Value)); }));
                }
                else
                {
                    Turtle.SoundManager.Play(Turtle.SoundManager.SND_ERROR);
                    PopupMessage.Show("Load", "No saved list to load.");
                }
            };
        }
    //Save the Current State
    private void Save()
    {
        string saveData = JsonUtility.ToJson(saveObject);

        SaveManager.Save(saveData);
    }
Example #22
0
    public void Update()
    {
        var inputManager = InputManager.GetInstance();

        if (inputManager.IsMenuPressRight() && !switchingScene)
        {
            AudioManager.GetInstance().PlayEffect(Sfx.MENU_BEEP);

            // Option to change the language.
            if (optionIndex == 0)
            {
                TextManager.CleanCache();
                langIndex++;
                if (langIndex == LanguageManager.supportedLangs.Length)
                {
                    langIndex = 0;
                }
                UpdateLang(LanguageManager.supportedLangs[langIndex]);
                UpdateMenuLabels();
                UpdateLanguageOption();
            }

            // Adjusting the SFX volume.
            if (optionIndex == 1 && GameState.sfxVolume < 10)
            {
                GameState.sfxVolume++;
                UpdateSfxOption();
            }

            // Adjusting the music volume.
            if (optionIndex == 2 && GameState.musicVolume < 10)
            {
                GameState.musicVolume++;
                UpdateMusicOption();
            }
        }

        if (inputManager.IsMenuPressLeft() && !switchingScene)
        {
            AudioManager.GetInstance().PlayEffect(Sfx.MENU_BEEP);

            // Option to change the language.
            if (optionIndex == 0)
            {
                TextManager.CleanCache();
                langIndex--;
                if (langIndex == -1)
                {
                    langIndex = LanguageManager.supportedLangs.Length - 1;
                }
                UpdateLang(LanguageManager.supportedLangs[langIndex]);
                UpdateMenuLabels();
                UpdateLanguageOption();
            }

            // Adjusting the SFX volume.
            if (optionIndex == 1 && GameState.sfxVolume > 0)
            {
                GameState.sfxVolume--;
                UpdateSfxOption();
            }

            // Adjusting the music volume.
            if (optionIndex == 2 && GameState.musicVolume > 0)
            {
                GameState.musicVolume--;
                UpdateMusicOption();
            }
        }

        // Going up and down in options.
        if (inputManager.IsMenuPressUp() && !switchingScene)
        {
            AudioManager.GetInstance().PlayEffect(Sfx.MENU_BEEP);
            optionIndex--;
            if (optionIndex == -1)
            {
                optionIndex = 4;
            }
            UpdateNunIconPosition();
        }

        if (inputManager.IsMenuPressDown() && !switchingScene)
        {
            AudioManager.GetInstance().PlayEffect(Sfx.MENU_BEEP);
            optionIndex++;
            if (optionIndex == 5)
            {
                optionIndex = 0;
            }
            UpdateNunIconPosition();
        }

        // Loading configure controls options.
        if (optionIndex == 3 && inputManager.IsMenuStart() && !switchingScene)
        {
            AudioManager.GetInstance().PlayEffect(Sfx.MENU_ACCEPT);
            switchingScene = true;
            gs.LoadScene(Scenes.CONFIGURE_CONTROLS, 0.5f);
        }

        // Going back to main menu.
        if (optionIndex == 4 && inputManager.IsMenuStart() && !switchingScene)
        {
            TextManager.CleanCache();
            AudioManager.GetInstance().PlayEffect(Sfx.MENU_ACCEPT);
            switchingScene = true;
            GameConfig gc = SaveManager.LoadGameConfig();
            gc.musicVolume = GameState.musicVolume;
            gc.sfxVolume   = GameState.sfxVolume;
            SaveManager.SaveGameConfig(gc);
            gs.SetGameReadyValues();
            gs.LoadScene(Scenes.MAIN_MENU, 0.5f);
        }

        // Fade out.
        if (switchingScene)
        {
            var color = GetComponent <SpriteRenderer>().color;
            color.a += 0.03f;
            GetComponent <SpriteRenderer>().color = color;
        }
    }
 void Awake()
 {
     CheckLevel();
     grid = SaveManager.LoadGrid(lvl);
 }
Example #24
0
    void Start()
    {
        for (int y = -Manager.instance.boardSize; y <= Manager.instance.boardSize; y++)
        {
            for (int x = 0; x <= Manager.instance.boardSize * 2 - Mathf.Abs(y); x++)
            {
                float trueY = y * Mathf.Sqrt(0.75f);
                float trueX = x + Mathf.Abs(y) / 2f - Manager.instance.boardSize;

                GameObject tile = Manager.instance.createTile();
                tile.GetComponent <Tile>().board = this;
                tile.transform.SetParent(transform, false);
                tile.transform.localPosition = new Vector3(trueX, trueY);
                float scale = Manager.instance.tileScale;
                tile.transform.localScale = new Vector3(scale, scale, scale);

                tiles.Add(tile);
                tileGrid.Add(new Vector2Int(x, y), tile);
            }
        }

        for (int y = -Manager.instance.boardSize; y <= Manager.instance.boardSize; y++)
        {
            for (int x = 0; x <= Manager.instance.boardSize * 2 - Mathf.Abs(y); x++)
            {
                Tile tile = getTile(x, y).GetComponent <Tile>();

                tile.neighbors[Manager.Direction.RIGHT] = getTile(x + 1, y);
                tile.neighbors[Manager.Direction.LEFT]  = getTile(x - 1, y);

                if (y >= 0)
                {
                    tile.neighbors[Manager.Direction.UP_LEFT]  = getTile(x - 1, y + 1);
                    tile.neighbors[Manager.Direction.UP_RIGHT] = getTile(x, y + 1);
                }
                else
                {
                    tile.neighbors[Manager.Direction.UP_LEFT]  = getTile(x, y + 1);
                    tile.neighbors[Manager.Direction.UP_RIGHT] = getTile(x + 1, y + 1);
                }

                if (y <= 0)
                {
                    tile.neighbors[Manager.Direction.DOWN_LEFT]  = getTile(x - 1, y - 1);
                    tile.neighbors[Manager.Direction.DOWN_RIGHT] = getTile(x, y - 1);
                }
                else
                {
                    tile.neighbors[Manager.Direction.DOWN_LEFT]  = getTile(x, y - 1);
                    tile.neighbors[Manager.Direction.DOWN_RIGHT] = getTile(x + 1, y - 1);
                }
            }
        }

        try
        {
            if (!forceNewSave && !Manager.forceReset && SaveManager.loadBoard(this, Manager.instance.getBoardSaveName()))
            {
                Debug.Log("Save loaded");
                save();
            }
            else
            {
                Debug.Log("No save found");
                newGame();
            }
        }
        catch
        {
            Debug.Log("Error loading save");
            newGame();
        }

        /*
         * // For testing purposes
         * int i = 1;
         * foreach (GameObject gameObject in tiles)
         * {
         *  Tile tile = gameObject.GetComponent<Tile>();
         *  tile.unsetPiece();
         *  tile.setPiece(createPiece(i++));
         * }
         */
    }
Example #25
0
 public void save()
 {
     SaveManager.save();
 }
Example #26
0
        protected override void Update()
        {
            switch (ControllerType)
            {
            case SupportedControllers.ArcadeBoard:

                // Player 1
                if ((ArcadeControls.JoystickLeft(Joysticks.White) && (!IsCoR_P1) && (!ReadyP1)))
                {
                    StartCoroutine(ToggleSelP1(1));
                }
                if ((ArcadeControls.JoystickRight(Joysticks.White) && (!IsCoR_P1) && (!ReadyP1)))
                {
                    StartCoroutine(ToggleSelP1(-1));
                }

                if (ArcadeControls.ButtonPress(Joysticks.White, Buttons.B8))
                {
                    am.Play("Menu_Select", .75f);
                    ReadyP1          = !ReadyP1;
                    Ready[0].enabled = ReadyP1;
                }

                if (ArcadeControls.ButtonPress(Joysticks.White, Buttons.B7))
                {
                    am.Play("Confirm", .25f);
                    SC.MoveToDucks  = false;
                    SC.MoveToRounds = true;
                    RSC.enabled     = true;
                    this.enabled    = false;
                }

                // Player 2
                if ((ArcadeControls.JoystickLeft(Joysticks.Black) && (!IsCoR_P2) && (!ReadyP2)))
                {
                    StartCoroutine(ToggleSelP2(1));
                }
                if ((ArcadeControls.JoystickRight(Joysticks.Black) && (!IsCoR_P2) && (!ReadyP2)))
                {
                    StartCoroutine(ToggleSelP2(-1));
                }

                if (ArcadeControls.ButtonPress(Joysticks.Black, Buttons.B8))
                {
                    am.Play("Menu_Select", .75f);
                    ReadyP2          = !ReadyP2;
                    Ready[1].enabled = ReadyP2;
                }

                break;

            case SupportedControllers.GamePadBoth:

                // Player 1
                if ((ControllerControls.ControllerLeft(Players.P1) && (!IsCoR_P1) && (!ReadyP1)))
                {
                    StartCoroutine(ToggleSelP1(1));
                }
                if ((ControllerControls.ControllerRight(Players.P1) && (!IsCoR_P1) && (!ReadyP1)))
                {
                    StartCoroutine(ToggleSelP1(-1));
                }

                if (ControllerControls.ButtonPress(Players.P1, ControllerButtons.Confirm))
                {
                    am.Play("Menu_Select", .75f);
                    ReadyP1          = !ReadyP1;
                    Ready[0].enabled = ReadyP1;
                }

                if (ControllerControls.ButtonPress(Players.P1, ControllerButtons.B))
                {
                    am.Play("Confirm", .25f);
                    SC.MoveToDucks  = false;
                    SC.MoveToRounds = true;
                    RSC.enabled     = true;
                    this.enabled    = false;
                }

                // Player 2
                if ((ControllerControls.ControllerLeft(Players.P2) && (!IsCoR_P2) && (!ReadyP2)))
                {
                    StartCoroutine(ToggleSelP2(1));
                }
                if ((ControllerControls.ControllerRight(Players.P2) && (!IsCoR_P2) && (!ReadyP2)))
                {
                    StartCoroutine(ToggleSelP2(-1));
                }

                if (ControllerControls.ButtonPress(Players.P2, ControllerButtons.Confirm))
                {
                    am.Play("Menu_Select", .75f);
                    ReadyP2          = !ReadyP2;
                    Ready[1].enabled = ReadyP2;
                }

                break;

            case SupportedControllers.KeyboardBoth:

                if ((KeyboardControls.KeyboardLeft(Players.P1) && (!IsCoR_P1) && (!ReadyP1)))
                {
                    StartCoroutine(ToggleSelP1(1));
                }
                if ((KeyboardControls.KeyboardRight(Players.P1) && (!IsCoR_P1) && (!ReadyP1)))
                {
                    StartCoroutine(ToggleSelP1(-1));
                }

                if (KeyboardControls.ButtonPress(Players.P1, Buttons.B8))
                {
                    am.Play("Menu_Select", .75f);
                    ReadyP1          = !ReadyP1;
                    Ready[0].enabled = ReadyP1;
                }

                if (KeyboardControls.ButtonPress(Players.P1, Buttons.B7))
                {
                    am.Play("Confirm", .25f);
                    SC.MoveToDucks  = false;
                    SC.MoveToRounds = true;
                    RSC.enabled     = true;
                    this.enabled    = false;
                }

                // Player 2
                if ((KeyboardControls.KeyboardLeft(Players.P2) && (!IsCoR_P2) && (!ReadyP2)))
                {
                    StartCoroutine(ToggleSelP2(1));
                }
                if ((KeyboardControls.KeyboardRight(Players.P2) && (!IsCoR_P2) && (!ReadyP2)))
                {
                    StartCoroutine(ToggleSelP2(-1));
                }

                if (KeyboardControls.ButtonPress(Players.P2, Buttons.B8))
                {
                    am.Play("Menu_Select", .75f);
                    ReadyP2          = !ReadyP2;
                    Ready[1].enabled = ReadyP2;
                }

                break;

            case SupportedControllers.KeyboardP1ControllerP2:

                if ((KeyboardControls.KeyboardLeft(Players.P1) && (!IsCoR_P1) && (!ReadyP1)))
                {
                    StartCoroutine(ToggleSelP1(1));
                }
                if ((KeyboardControls.KeyboardRight(Players.P1) && (!IsCoR_P1) && (!ReadyP1)))
                {
                    StartCoroutine(ToggleSelP1(-1));
                }

                if (KeyboardControls.ButtonPress(Players.P1, Buttons.B8))
                {
                    am.Play("Menu_Select", .75f);
                    ReadyP1          = !ReadyP1;
                    Ready[0].enabled = ReadyP1;
                }

                if (KeyboardControls.ButtonPress(Players.P1, Buttons.B7))
                {
                    am.Play("Confirm", .25f);
                    SC.MoveToDucks  = false;
                    SC.MoveToRounds = true;
                    RSC.enabled     = true;
                    this.enabled    = false;
                }

                if ((ControllerControls.ControllerLeft(Players.P1) && (!IsCoR_P2) && (!ReadyP2)))
                {
                    StartCoroutine(ToggleSelP2(1));
                }
                if ((ControllerControls.ControllerRight(Players.P1) && (!IsCoR_P2) && (!ReadyP2)))
                {
                    StartCoroutine(ToggleSelP2(-1));
                }

                if (ControllerControls.ButtonPress(Players.P1, ControllerButtons.A))
                {
                    am.Play("Menu_Select", .75f);
                    ReadyP2          = !ReadyP2;
                    Ready[1].enabled = ReadyP2;
                }

                break;

            case SupportedControllers.KeyboardP2ControllerP1:

                if ((ControllerControls.ControllerLeft(Players.P1) && (!IsCoR_P1) && (!ReadyP1)))
                {
                    StartCoroutine(ToggleSelP1(1));
                }
                if ((ControllerControls.ControllerRight(Players.P1) && (!IsCoR_P1) && (!ReadyP1)))
                {
                    StartCoroutine(ToggleSelP1(-1));
                }

                if (ControllerControls.ButtonPress(Players.P1, ControllerButtons.A))
                {
                    am.Play("Menu_Select", .75f);
                    ReadyP1          = !ReadyP1;
                    Ready[0].enabled = ReadyP1;
                }

                if (ControllerControls.ButtonPress(Players.P1, ControllerButtons.B))
                {
                    am.Play("Confirm", .25f);
                    SC.MoveToDucks  = false;
                    SC.MoveToRounds = true;
                    RSC.enabled     = true;
                    this.enabled    = false;
                }

                if ((KeyboardControls.KeyboardLeft(Players.P1) && (!IsCoR_P2) && (!ReadyP2)))
                {
                    StartCoroutine(ToggleSelP2(1));
                }
                if ((KeyboardControls.KeyboardRight(Players.P1) && (!IsCoR_P2) && (!ReadyP2)))
                {
                    StartCoroutine(ToggleSelP2(-1));
                }

                if (KeyboardControls.ButtonPress(Players.P1, Buttons.B8))
                {
                    am.Play("Menu_Select", .75f);
                    ReadyP2          = !ReadyP2;
                    Ready[1].enabled = ReadyP2;
                }

                break;

            default:
                break;
            }

            if (ReadyP1 && ReadyP2)
            {
                QuackingTimeData _data = new QuackingTimeData(Duck1Pos, Duck2Pos);
                SaveManager.SaveQuackingTime(_data);
                ChangeScene.ChangeToLevel();
            }
        }
Example #27
0
 void OnApplicationQuit()
 {
     SaveManager.Save();
 }
Example #28
0
 void Start()
 {
     SaveManager.Load();
     SceneManager.sceneLoaded += OnSceneLoaded;
 }
Example #29
0
 // レベルリセット用の関数
 public void ResetLevel()
 {
     SaveManager.SaveLevel(1);
     GetComponent <MySceneManager>().SceneChange(0);
 }
Example #30
0
 // レベルアップ用の関数
 public void LevelUp()
 {
     SaveManager.SaveLevel(level + 1);
 }
	void Start () {
		IOManager.Initialize ();
		dataStore = new DataStore ();
		saveManager = new SaveManager ();
		LoadRoom ();
	}
Example #32
0
 public static SaveManager Get()
 {
     if (instance == null)
         instance = new SaveManager();
     return instance;
 }
Example #33
0
 public void LoadScene(string sceneName)
 {
     StartCoroutine(LoadSceneRoutine(sceneName));
     SaveManager.DoSave(sceneName, playerController.numberOfCoinsCollected, playerController.numberOfLives);
 }
Example #34
0
 void Awake()
 {
     save = new SaveManager();
     Debug.Log(SaveManager.num);
     save.CreateData();
 }
Example #35
0
    /*public void saveName() {
     *  //so = SaveManager.Load();
     *  string here = groupNameField.GetComponent<InputField>().text;
     *  so.userNameTest = here;
     *  SaveManager.Save(so);
     * }
     *
     * public void Loadthing() {
     *  Debug.Log("Load6");
     *  so = SaveManager.Load();
     *  string name = so.userNameTest;
     *  groupNameField.GetComponent<InputField>().text = name;
     *  Debug.Log("Load Done7");
     * }*/

    public void ResetList()
    {
        so = SaveManager.Load();
        so.cardGroups.Clear();
        SaveManager.Save(so);
    }
Example #36
0
 public HackStartInfo(NetworkSimulation netSim, SaveManager saveManager, Hackable hackable)
 {
     _netSim      = netSim;
     _saveManager = saveManager;
     _hackable    = hackable;
 }
Example #37
0
 public void Restart(MonoBehaviour caller)
 {
     gd_nextLevel = SaveManager.LoadFile(saveName);
     SaveManager.Load(saveName, caller);
 }
Example #38
0
 public void getmoney()
 {
     mooney = Mathf.RoundToInt(Point * 0.333f);
     SaveManager.moneysave(mooney);
 }
Example #39
0
 private void Awake()
 {
     instance.Init();
     gd_currentLevel = SaveManager.LoadFile(saveName);
 }
Example #40
0
    public void LoadSave()
    {
        SaveManager saveManager = GameObject.Find("SaveManager").GetComponent <SaveManager> ();

        saveManager.Load();
    }
Example #41
0
    private void GetSaveManager()
    {
        GameObject saveManagerObj = GameObject.Find("Save Manager");

        // if Save Manager not present already, create one
        if (!saveManagerObj){
            saveManagerObj = (GameObject)Instantiate(saveManagerPrefab, Vector3.zero, Quaternion.identity);
            saveManagerObj.name = "Save Manager";

            saves = saveManagerObj.GetComponent<SaveManager>();
            // this is only for testing level on editor
            if (gameLevel == true && saves.levelState != LevelState.LOADED){
                saves.levelState = LevelState.LOADED;
                NewGame();
            }

        } else {
            saves = saveManagerObj.GetComponent<SaveManager>();
        }
    }
    void TestSaving()
    {
        Assert.raiseExceptions = true;

        // Constructor
        SaveManager saveManager = new SaveManager("YourGameFileName", "dat");

        // Helper Get methods
        bool savesExist = saveManager.SavesExist();
        int saveCount = saveManager.GetMaxSaveSlot() + 1;
        Debug.Log(saveManager.GetDirectoryPath());
        Debug.Log("saves already exist: " + savesExist);
        if (savesExist) { Debug.Log("save count: " + saveCount); }

        // Create
        Debug.Log("*******************");
        Debug.Log("Creating game data");
        YourGameSaveData data;
        for (int i = 0; i < 10; i++)
        {
            data = new YourGameSaveData();
            data.playerName += i.ToString();
            data.age += i;
            int newSlot = saveManager.Create(data);
            Debug.Log("Created in slot: " + newSlot);
        }

        // LoadAll, Save
        Debug.Log("*******************");
        Debug.Log("Loading all game data");
        SaveData[] saveData = saveManager.LoadAll();
        foreach (YourGameSaveData item in saveData)
        {
            if (item != null)
            {
                Debug.Log("********************");
                Debug.Log(item.ToString());
                item.age = UnityEngine.Random.Range(5, 100);
                Debug.Log(item.ToString());
                saveManager.Save(item);
            }
        }

        // Load
        Debug.Log("*******************");
        Debug.Log("Loading slot 3 game data");
        SaveData itemFive = saveManager.Load(3);
        if (itemFive != null) { Debug.Log(itemFive.ToString()); }

        // Delete
        Debug.Log("*******************");
        Debug.Log("Deleting slot 3, 4, 5 game data");
        saveManager.Delete(3);
        saveManager.Delete(4);
        saveManager.Delete(5);

        // Verify Deletion
        Debug.Log("*******************");
        Debug.Log("Verify deletion occurred");
        saveData = saveManager.LoadAll();
        Assert.IsTrue(saveCount + 7 == saveData.Length);
        foreach (YourGameSaveData item in saveData)
        {
            if (item != null) Debug.Log(item.ToString());
        }
    }
Example #43
0
    public static void Save(string filePath, SaveManager sm)
    {
        SaveData data = new SaveData();

        data.currentLevel = sm.m_currentLevel;
        data.exp = sm.m_exp;
        data.gold = sm.m_gold;
        data.weapon1 = sm.m_weapon1;
        data.weapon2 = sm.m_weapon2;

        Stream stream = File.Open(filePath, FileMode.Create);
        BinaryFormatter bformatter = new BinaryFormatter();
        bformatter.Binder = new VersionDeserializationBinder();
        bformatter.Serialize(stream, data);
        stream.Close();

        //Debug.Log("Saving");
    }
Example #44
0
    void LoadCharaFromSave(Player p,SaveManager.Status st)
    {
        if (!isArcade)
        {
            p.level = st.level;
            p.exp = st.exp;
        }

        //体力が1未満にならない
        p.isUndead = isUndead;

        p.init = true;
    }
Example #45
0
 /// <summary>
 /// Saves the server and any related information
 /// </summary>
 public void Save() => SaveManager.save();
Example #46
0
    public void TurnOn(SaveManager sm, NotesUI nu, int p)
    {
        string SPT, OK, cTXT, name, AddNotes;

        switch (PlayerPrefs.GetInt("Lang"))
        {
        case 1:
            SPT      = "保存人像为:";
            OK       = "确定";
            cTXT     = "取消";
            name     = "名称?";
            AddNotes = "添加注释";
            //chinese
            break;

        case 2:
            SPT      = "名前を付けて保存:";
            OK       = "はい";
            cTXT     = "中止";
            name     = "名?";
            AddNotes = "ノート";
            //ja
            break;

        case 3:
            SPT      = "сохранить как:";
            OK       = "ОК";
            cTXT     = "Отмена";
            name     = "имя?";
            AddNotes = "заметки";
            //rus
            break;

        case 4:
            SPT      = "guardar retrato como:";
            OK       = "ok";
            cTXT     = "cancelar";
            name     = "¿nombre?";
            AddNotes = "agregar notas";
            break;

        case 5:
            SPT      = "บันทึกภาพเป็น:";
            OK       = "ตกลง";
            cTXT     = "ยกเลิก";
            name     = "ชื่อ?";
            AddNotes = "เพิ่มบันทึก";
            //thai
            break;

        case 6:
            SPT      = "enregistrer le portrait sous:";
            OK       = "bien";
            cTXT     = "Annuler";
            name     = "prénom?";
            AddNotes = "ajouter notes";
            //french
            break;

        default:
            SPT      = "save portrait as:";
            OK       = "Ok";
            cTXT     = "Cancel";
            name     = "name?";
            AddNotes = "add notes";

            //english
            break;
        }

        Button ok, addnotes;

        ok       = transform.GetChild(0).GetComponent <Button>();
        addnotes = transform.GetChild(1).GetComponent <Button>();

        if (AddNotes != "add notes")
        {
            ok.transform.GetChild(0).GetComponent <TextMeshProUGUI>().text       = OK;
            addnotes.transform.GetChild(0).GetComponent <TextMeshProUGUI>().text = AddNotes;
            transform.GetChild(2).GetComponent <TextMeshProUGUI>().text          = SPT;
            transform.GetChild(transform.childCount - 1).GetChild(0).GetComponent <TextMeshProUGUI>().text = cTXT;
        }

        TMP_InputField t = transform.GetChild(3).GetComponent <TMP_InputField>();

        setButtonColors(ok, addnotes);
        //listeners stuff
        removeAllListeners(ok, addnotes);


        ok.onClick.AddListener(() =>
        {
            if (!string.IsNullOrEmpty(t.text))
            {
                sm.Save(t, p);
                TurnOff();
            }
            else
            {
                t.text = name;
            }
        }
                               );


        addnotes.onClick.AddListener(() =>
        {
            nu.TurnOn(p);
        });

        CanvasGroup cg = GetComponent <CanvasGroup>();

        cg.interactable   = true;
        cg.blocksRaycasts = true;

        LeanTween.value(Camera.main.gameObject, (float val) =>
        {
            cg.alpha = val;
        }, 0, 1, 0.2f).setEase(LeanTweenType.easeOutCubic).setOnComplete(() =>
        {
        });
    }
Example #47
0
 private void Start()
 {
     _saveManager = FindObjectOfType <SaveManager>();
     Stars        = _saveManager.GameData.Stars;
 }
Example #48
0
    void Awake()
    {
        if (instance == null)
        {
            if (deletePlayerPrefs)
                PlayerPrefs.DeleteAll ();

            instance = this;
            DontDestroyOnLoad(this);
        }
        else
        {
            if (this != instance)
                Destroy(this.gameObject);
        }
    }
Example #49
0
    void Start()
    {
        if(levelManager != null)
        {
            levelManager.gameManager = this;
            levelManager.Generate();
        }

        if(playerPrefab != null)
        {
            player = Instantiate(playerPrefab);
            if(player != null)
            {
                player.transform.position = startPoint.position;
                player.transform.rotation = startPoint.rotation;
                playerRig = player.GetComponent<Rigidbody>() as Rigidbody;
                playerScript = player.GetComponent<Player>() as Player;

                cameraLookScript = cam.GetComponent<CameraLook>() as CameraLook;
                if (cameraLookScript != null)
                    cameraLookScript.target = player.transform;
            }
        }

        inputController.cam = (Camera) cam;

        saveManager = ScriptableObject.CreateInstance<SaveManager>();
        saveManager.Init();
        StartCoroutine(GameLoop());
    }
Example #50
0
File: Menu.cs Project: Zylann/GGJ14
    // Use this for initialization
    void Start()
    {
        ButtonHeight = (Screen.height/16)/*/ - Screen.height/3)/5*/;
        ButtonWidth = (Screen.width/6);

        ButtonPosX = Screen.width/2 - ButtonWidth /2;
        ButtonPosY = Screen.height/8;

        //ButtonW = Screen.width/20;
        //ButtonH = Screen.width/20;

        sm = SaveManager.Get();
        sm.LoadGame();
        //sm.SaveGame();

        scores = SaveManager.Get().getHightScore();
        topDix = new List<string>();

        foreach(string key in scores.Keys)
        {
            topDix.Add(key+"/ : "+scores[key]);
        }
    }
 public async void SaveSettings()
 {
     await SaveManager.SaveOptionsAsync(gameSettings);
 }
Example #52
0
    IEnumerator AssignKey(InputType keyType, TextMeshProUGUI codeText)
    {
        waitingForKey = true;

        PopupManager.Instance.ShowInputControlMessage();
        yield return(WaitForKey());

        PopupManager.Instance.HideInputControlMessage();

        if (!IsKeyCodeInForbiddenList())
        {
            if (inputInfo.keyInputDict[keyType].inputCode == newKey)
            {
                PopupManager.Instance.ShowStandartPopup("You cannot change same key");
            }
            else if (IsSwapRequire())
            {
                SwapKeys();
                OptionsMenuController.ChangeInputText(keyType, inputInfo.keyInputDict[keyType].inputCode);
                OptionsMenuController.ChangeInputText(swapType, inputInfo.keyInputDict[swapType].inputCode);

                SaveManager.Save(inputData, INPUT_SAVE_FILE_NAME);
            }
            else
            {
                inputInfo.keyInputDict[keyType].inputCode = newKey;
                codeText.text = newKey.ToString();

                SaveManager.Save(inputData, INPUT_SAVE_FILE_NAME);
            }
        }
        else
        {
            PopupManager.Instance.ShowStandartPopup($"{newKey} is a Forbidden Key Change, Try Another Key.");
        }

        bool IsKeyCodeInForbiddenList()
        {
            return(forbiddenKeyChange.Contains(newKey));
        }

        bool IsSwapRequire()
        {
            foreach (var input in inputInfo.keyInputDict)
            {
                if (input.Value.inputCode == newKey)
                {
                    swapType = input.Key;
                    return(true);
                }
            }
            return(false);
        }

        void SwapKeys()
        {
            inputInfo.keyInputDict[keyType].inputCode  = inputInfo.keyInputDict[keyType].inputCode ^ inputInfo.keyInputDict[swapType].inputCode;
            inputInfo.keyInputDict[swapType].inputCode = inputInfo.keyInputDict[keyType].inputCode ^ inputInfo.keyInputDict[swapType].inputCode;
            inputInfo.keyInputDict[keyType].inputCode  = inputInfo.keyInputDict[keyType].inputCode ^ inputInfo.keyInputDict[swapType].inputCode;
        }
    }
Example #53
0
 public void UpdateHighScore(int score)
 {
     highScore = Mathf.Max(score, highScore);
     //Save after updating high score
     SaveManager.SaveData();
 }
Example #54
0
    //function that saves the activestate of diffferent objects (ObjectsToSave),
    // and the player and enemy locations inside a file called savefile.sav
    //Its only possible to save variables like String, bool, float etc. Not GameObjects or AudioSource etc.
    public void Save()
    {
        // Open a binary (encrypted) filestream to the savefile (saver)
        BinaryFormatter binary = new BinaryFormatter ();
        FileStream fStream = File.Create(Application.persistentDataPath + "/savefile.sav");
        SaveManager saver = new SaveManager ();

        //initialize arrays for savefile in saver object
        saver.active = new bool[ObjectsToSave.Length];
        saver.antagcoordinates = new float[3];
        saver.playercoordinates = new float[3];
        saver.dooropened = new bool[DoorOpened.Length];

        //saving which area the player is located in
            if(AreaTrigger.GetComponent<MainAreaTriggerController>().inOffice){
                saver.area = "Office";
            area = saver.area;
            }
            if(AreaTrigger.GetComponent<MainAreaTriggerController>().inLab){
                saver.area = "Lab";
            area = saver.area;
            }
            if(AreaTrigger.GetComponent<MainAreaTriggerController>().inStorage){
                saver.area = "Storage";
            area = saver.area;
            }
            if(AreaTrigger.GetComponent<MainAreaTriggerController>().inArchive){
                saver.area = "Archive";
            area = saver.area;
            }
            if(AreaTrigger.GetComponent<MainAreaTriggerController>().inMachine){
                saver.area = "MachineRoom";
            area = saver.area;
            }

        //Saving playerID
        saver.PlayerID = PlayerPrefs.GetInt ("ID");

        //Saving wich keyObjects are PickedUp;
        saver.ObjectsPickedUp = keyObjectsPickedUp;

        //Saving ActiveState of public GameObject array ObjectsToSave
        for (int i = 0; i < ObjectsToSave.Length; i++ ) {
            saver.active[i] = ObjectsToSave[i].activeSelf;
        }

        //Saving which keyObjects are PickedUp
        saver.ObjectsPickedUp = keyObjectsPickedUp;

        //Saving which doors are opened
        for (int i = 0; i < DoorOpened.Length; i++ ) {
            saver.dooropened[i] = DoorOpened[i];
        }

        //Saving the amount of time played (savertimeplayed is timeplayed before previous load)
        saver.timeplayed = Time.timeSinceLevelLoad + savertimeplayed;

        //Saving player Rotation
        saver.PlayerYRotation = Player.transform.eulerAngles.y;

        //Saving player Coordinates
        saver.playercoordinates [0] = Player.transform.position.x;
        saver.playercoordinates [1] = Player.transform.position.y;
        saver.playercoordinates [2] = Player.transform.position.z;

        //Saving Antag Coordinates
        saver.antagcoordinates [0] = Antag.transform.position.x;
        saver.antagcoordinates [1] = Antag.transform.position.y;
        saver.antagcoordinates [2] = Antag.transform.position.z;

        //Writing everything in savefile.sav (encrypted)
        binary.Serialize (fStream, saver);
        fStream.Close ();

        print ("game saved to " + Application.persistentDataPath + "/savefile.sav,  playtime: " + saver.timeplayed + " Player ID: " + saver.PlayerID);
    }
Example #55
0
 public void SavePlayerData()
 {
     SaveManager.SaveData(player, "Player.dat");
 }
Example #56
0
 public void SaveScoreData()
 {
     SaveManager.SaveData(score, "Score.dat");
 }
Example #57
0
 private void Awake()
 {
     DontDestroyOnLoad(gameObject);
     instance = this;
     Load();
 }
Example #58
0
 private void Save()
 {
     SaveManager.SaveInventory();
 }
    // Use this for initialization
    protected override void Start()
    {
        //equilibrage
        mobsController = new MobsController();
        dayNightCycle = (DayNightCycleManager)FindObjectOfType<DayNightCycleManager>();

        controller = GetComponent<CharacterController>();
        skillManager.setBasePvMax(200f);
        skillManager.setBaseManaMax(100f);
        skillManager.setBasePhysicalResistance(0f);
        skillManager.setBaseMagicResistance(0f);
        skillManager.setBasePhysicAttack(1f);
        skillManager.setBaseMagicAttack(5f);
        skillManager.setCriticPhysic(0f);
        skillManager.setDistancePhysicAttack(4f);
        skillManager.setDistanceMagicAttack(4f);

        // Affecte la valeur du sprint de sprintAugmentation% de plus que la marche normale
        sprintSpeed = walkSpeed + sprintAugmentation*walkSpeed;
        sprintTimeStart = Time.time;
        isSprinting = false;
        updateSpeed(isSprinting);

        // Liste des descriptions des compétences
        List<string> skillsDescriptions = initSkillsDescriptions();

        //arbre de competence Survie
        skillManager.addSkill(new PassiveSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill1"), skillsDescriptions[0], 0, null, 50, 50, 5f, 5f, LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill1"), LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill2"), skillsDescriptions[1], skillsDescriptions[2]));
        skillManager.addSkill(new PassiveSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill2"), skillsDescriptions[3], 0, skillManager.getSkill(0), 100, 100, 1f, 1f, LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill3"), LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill4"), skillsDescriptions[4], skillsDescriptions[5]));
        skillManager.addSkill(new InvincibleSkill(LanguageManager.Instance.GetTextValue("Skills.nameSkill3"), skillsDescriptions[6], 6000, skillManager.getSkill(1), 0, 30, null, 5f));

        //arbre de competence Attaque
        skillManager.addSkill(new PassiveSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill4"), skillsDescriptions[7], 0, null, 50, 50, 5f, 5f, LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill5"), LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill6"), skillsDescriptions[8], skillsDescriptions[9]));
        skillManager.addSkill(new PassiveSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill5"), skillsDescriptions[10], 0, skillManager.getSkill(3), 100, 100, 1f, 1f, LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill7"), LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill8"), skillsDescriptions[11], skillsDescriptions[12]));
        skillManager.addSkill(new FurieSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill6"), skillsDescriptions[13], 6000, skillManager.getSkill(4), 0, 30, null, 5f, 10f));

        //arbre de competence Feu
        skillManager.addSkill(new PorteeSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill7"), skillsDescriptions[14], 300, null, 0f, 10, fireball, 10f, 40, 40, LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill9"), LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill10"), skillsDescriptions[15], skillsDescriptions[16], 20f));
        skillManager.addSkill(new ZoneSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill8"), skillsDescriptions[17], 1000, skillManager.getSkill(6), 1f, 15, firezone, 15f, 100, 100, LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill9"), LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill11"), skillsDescriptions[18], skillsDescriptions[19], 10f));
        skillManager.addSkill(new SuperSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill9"), skillsDescriptions[20], 6000, skillManager.getSkill(7), 2f, 20, firesuper, 20f, 50f));

        //arbre de competence Glace
        skillManager.addSkill(new PorteeSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill10"), skillsDescriptions[21], 300, null, 0f, 10, iceball, 10f, 40, 40, LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill9"), LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill10"), skillsDescriptions[22], skillsDescriptions[23], 20f));
        skillManager.addSkill(new ZoneSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill11"), skillsDescriptions[24], 1000, skillManager.getSkill(9), 1f, 15, icezone, 15f, 100, 100, LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill9"), LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill11"), skillsDescriptions[25], skillsDescriptions[26], 10f));
        skillManager.addSkill(new SuperSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill12"), skillsDescriptions[27], 6000, skillManager.getSkill(10), 2f, 20, icesuper, 20f, 50f));

        //arbre de competence Vent
        skillManager.addSkill(new PorteeSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill13"), skillsDescriptions[28], 300, null, 0f, 10, windball, 10f, 40, 40, LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill9"), LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill10"), skillsDescriptions[29], skillsDescriptions[30], 20f));
        skillManager.addSkill(new ZoneSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill14"), skillsDescriptions[31], 1000, skillManager.getSkill(12), 1f, 15, windsuper, 15f, 100, 100, LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill9"), LanguageManager.Instance.GetTextValue("Skills.nameUnderSkill11"), skillsDescriptions[32], skillsDescriptions[33], 10f));
        skillManager.addSkill(new SuperSkills(LanguageManager.Instance.GetTextValue("Skills.nameSkill15"), skillsDescriptions[34], 6000, skillManager.getSkill(13), 2f, 20, windsuper, 20f, 50f));

        // Animations
        hash = GetComponent<PlayerHashIDs>();
        anim = GetComponentInChildren<Animator>();
        anim.SetLayerWeight(0,1f);

        saveManager = new SaveManager(achievementManager, skillManager, this, FindObjectOfType<DayNightCycleManager>());
        saveManager.load();
        remainingTime = autoSavTimeLimit;
        autoSav = FindObjectOfType<ShowMessage>();

        ds = GetComponent<DamageShow>();

        updateManaRegen();

        //Sound
        soundWalk = GetComponent<AudioSource> ();
    }