Ejemplo n.º 1
0
    public MySaveGame LoadGameJson(string slotName)
    {
        var slotPath = GetSlotJsonPath(slotName);

        Logging.LogFormat("Loading Game from slot: {0}", slotPath);

        MySaveGame saveGame = null;

        try
        {
            saveGame = JsonUtility.FromJson <MySaveGame>(File.ReadAllText(slotPath));
        }
        catch (Exception ex)
        {
            throw ex;
        }

        SceneManager.sceneLoaded += OnSceneLoaded;

        if (!string.IsNullOrEmpty(saveGame.sceneName))
        {
            // TODO: not sure about the need to unload first.
            StartCoroutine(UnloadSceneAsync(saveGame.sceneName));
            StartCoroutine(LoadAsyncScene(saveGame.sceneName));
        }

        // TODO: ugly.
        this.saveGame = saveGame;

        return(saveGame);
    }
Ejemplo n.º 2
0
    public void load()
    {
        string     svname   = GameObject.Find("panelMenu").gameObject.transform.GetChild(1).GetComponent <InputField>().text;
        MySaveGame loadGame = SaveGameSystem.LoadGame(svname) as MySaveGame;


        numberOfPlayer    = loadGame.numberOfPlayer;
        VPsToWin          = loadGame.VPsToWin;
        barbarianPosition = loadGame.barbarianPosition;
        barbarianAttacked = loadGame.barbarianAttacked;
        barbarianStrength = loadGame.barbarianStrength;
        knightStrength    = loadGame.knightStrength;
        currentPhase      = loadGame.currentPhase;
// pgcard


        List <int> number      = loadGame.numbers;
        List <int> terrians    = loadGame.terrains;
        List <int> harbortypes = loadGame.harbortypes;


        for (int i = 0; i < numberOfPlayer; i++)
        {
            myPlayers._players[i].LoadData(myPlayers._players[i].connectionToClient, svname);
        }
        Debug.Log(loadGame);
        Debug.Log(loadGame.numbers);


        // TODO load
    }
Ejemplo n.º 3
0
    public void OnLoad(MySaveGame saveGame)
    {
        Debug.Log("EnemySystem OnLoad");

        var saveGameIdSystem = this.GetComponent <SaveGameIdSystem>();
        var abilitySystem    = GetComponent <AbilitySystem>();
        var classSystem      = GetComponent <ClassSystem>();
        var healthSystem     = GetComponent <HealthSystem>();

        var runtime = saveGame.enemyRuntimes.SingleOrDefault(x => x.saveGameId == saveGameIdSystem.SaveGameId);

        if (runtime == null)
        {
            throw new System.Exception(string.Format("No EnemyRuntime for SaveGameId {0}", saveGameIdSystem.SaveGameId));
        }

        transform.position   = runtime.position;
        transform.rotation   = runtime.rotation;
        transform.localScale = runtime.scale;

        classSystem.classRuntime = runtime.classRuntime;

        abilitySystem.abilityRuntimes = runtime.abilityRuntimes;
        healthSystem.currentHealth    = runtime.currentHealth;
        healthSystem.maxHealth        = runtime.maxHealth;
        healthSystem.IsAlive          = runtime.isAlive;
    }
Ejemplo n.º 4
0
    public void CreateNew()
    {
        if (nameField.text == "")
        {
            Debug.Log("Name field is empty");
        }
        else
        {
            MySaveGame mySaveGame1 = new MySaveGame();
            mySaveGame1.playerName = nameField.text;
            mySaveGame1.species    = currentSpecies;
            mySaveGame1.classID    = currentClass;
            mySaveGame1.faceID     = currentFace;
            mySaveGame1.level      = 1;
            mySaveGame1.currentXP  = 0;

            // we will need to put inventory, skill bar, and talenttree in here
            System.DateTime epochStart = new System.DateTime(1970, 1, 1, 0, 0, 0, System.DateTimeKind.Utc);
            int             cur_time   = (int)(System.DateTime.UtcNow - epochStart).TotalSeconds;
            SaveGameSystem.SaveGame(mySaveGame1, nameField.text + cur_time);

            SM.GetComponent <SceneManager>().CharacterSaveFile = nameField.text + cur_time;

            UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync("NewChar");
            UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("WorldSelect", UnityEngine.SceneManagement.LoadSceneMode.Additive);
        }
    }
Ejemplo n.º 5
0
    public void LoadCharacter(string filename)
    {
        MySaveGame mySaveGame = SaveGameSystem.LoadGame(filename) as MySaveGame;

        // level = mySaveGame.level;
        // CurrentXP = mySaveGame.currentXP;
        species  = mySaveGame.species;
        face     = mySaveGame.faceID;
        classID  = mySaveGame.classID;
        charName = mySaveGame.playerName;

        // these will be replaced by our save file loading

        CurrentXP  = 0;
        level      = 1;
        ability[0] = 0;
        ability[1] = 1;


        // now that we can load from file,
        // we need to calculate all the side stuff
        // skill tree or class affects

        maxHP   = 100; //
        HPRegen = 1;   //
        MPRegen = 1;   //
        maxXP   = level * level + 1;
    }
Ejemplo n.º 6
0
 public void CheckIfSaveExists()
 {
     if (!SaveGameSystem.DoesSaveGameExist("MySaveGame"))
     {
         MySaveGame mySaveGame1 = new MySaveGame();
         // mySaveGame1.HighScore[sceneid,1] = 0;
         SaveGameSystem.SaveGame(mySaveGame1, "MySaveGame");
         Debug.Log("Created a new save file!");
     }
 }
Ejemplo n.º 7
0
    public void OnSave(MySaveGame saveGame)
    {
        Logging.LogFormat("DoorSystem OnSave: " + GetComponent <SaveGameIdSystem>().SaveGameId);

        var saveGameIdSystem = this.GetComponent <SaveGameIdSystem>();
        var runtime          = new DoorRuntime();

        runtime.saveGameId = saveGameIdSystem.SaveGameId;
        runtime.isOpen     = isOpen;
        saveGame.doorRuntimes.Add(runtime);
    }
Ejemplo n.º 8
0
    public string QuickLoadCharacter(string file)
    {
        Debug.Log(file);
        MySaveGame mySaveGame = SaveGameSystem.LoadGame(file) as MySaveGame;

        string[] speciesName = new string[] { "Human", "Frog", "Robot" };
        string[] className   = new string[] { "Warrior", "Ranger", "Necromancer" };
        Debug.Log(mySaveGame);
        Debug.Log(mySaveGame.playerName);
        string charName = mySaveGame.playerName;

        return(charName + " Level: " + mySaveGame.level + " " + speciesName[mySaveGame.species] + " " + className[mySaveGame.classID]);
    }
Ejemplo n.º 9
0
    public void OnLoad(MySaveGame saveGame)
    {
        Logging.LogFormat("DoorSystem OnLoad");

        var saveGameIdSystem = this.GetComponent <SaveGameIdSystem>();
        var runtime          = saveGame.doorRuntimes.SingleOrDefault(x => x.saveGameId == saveGameIdSystem.SaveGameId);

        if (runtime == null)
        {
            throw new UnityException(string.Format("No HeroRuntime for SaveGameId {0}", saveGameIdSystem.SaveGameId));
        }

        SetDoor(runtime.isOpen);
    }
Ejemplo n.º 10
0
    public void SaveGameToSlot(string slotName)
    {
        var saveGameSystem = FindObjectOfType <SaveGameSystem>();

        if (!saveGameSystem)
        {
            return;
        }

        var saveGame = new MySaveGame(5, slotName);

        saveGame.sceneName = SceneManager.GetActiveScene().name;

        // TODO: consider changing this to use interfaces
        onSave.Invoke(saveGame);

        saveGameSystem.SaveGameJson(saveGame);
    }
Ejemplo n.º 11
0
    public void OnSave(MySaveGame saveGame)
    {
        Debug.Log("EnemySystem OnSave: " + GetComponent <SaveGameIdSystem>().SaveGameId);
        var saveGameIdSystem = this.GetComponent <SaveGameIdSystem>();
        var abilitySystem    = GetComponent <AbilitySystem>();
        var classSystem      = GetComponent <ClassSystem>();
        var healthSystem     = GetComponent <HealthSystem>();

        enemyRuntime = new EnemyRuntime(saveGameIdSystem.SaveGameId, abilitySystem.abilityRuntimes, classSystem.classRuntime);

        enemyRuntime.position = transform.position;
        enemyRuntime.rotation = transform.rotation;
        enemyRuntime.scale    = transform.localScale;

        enemyRuntime.maxHealth     = healthSystem.maxHealth;
        enemyRuntime.currentHealth = healthSystem.currentHealth;
        enemyRuntime.isAlive       = healthSystem.IsAlive;

        saveGame.enemyRuntimes.Add(enemyRuntime);
    }
Ejemplo n.º 12
0
    public void OnSave(MySaveGame saveGame)
    {
        Logging.LogFormat("HeroSystem OnSave: " + GetComponent <SaveGameIdSystem>().SaveGameId);

        var saveGameIdSystem = this.GetComponent <SaveGameIdSystem>();
        var abilitySystem    = GetComponent <AbilitySystem>();
        var classSystem      = GetComponent <ClassSystem>();
        var healthSystem     = GetComponent <HealthSystem>();

        heroRuntime = new HeroRuntime(saveGameIdSystem.SaveGameId, abilitySystem.abilityRuntimes, classSystem.classRuntime);

        heroRuntime.position = transform.position;
        heroRuntime.rotation = transform.rotation;
        heroRuntime.scale    = transform.localScale;

        heroRuntime.maxHealth     = healthSystem.maxHealth;
        heroRuntime.currentHealth = healthSystem.currentHealth;
        heroRuntime.isAlive       = healthSystem.IsAlive;

        saveGame.heroRuntimes.Add(heroRuntime);
    }
Ejemplo n.º 13
0
    public void SaveChar()
    {
        // get the name of the character save file from the scene manager
        string fileName = SM.GetComponent <SceneManager>().CharacterSaveFile;

        MySaveGame mySaveGame1 = new MySaveGame();

        mySaveGame1.playerName = currentPlayer.GetComponent <Player>().name;
        mySaveGame1.species    = currentPlayer.GetComponent <Player>().species;
        mySaveGame1.classID    = currentPlayer.GetComponent <Player>().classID;
        mySaveGame1.faceID     = currentPlayer.GetComponent <Player>().face;
        mySaveGame1.level      = currentPlayer.GetComponent <Player>().level;
        mySaveGame1.currentXP  = currentPlayer.GetComponent <Player>().CurrentXP;

        // we will need to put inventory, skill bar, and talenttree in here
        //mySaveGame1.talentTree = currentPlayer.GetComponent<Player>().talentTree;


        SaveGameSystem.SaveGame(mySaveGame1, fileName); // Saves as MySaveGame.sav

        Debug.Log("saving character");
    }