示例#1
0
    //this method is used to fetch and load data from the JSON text file
    public void loadPlayerDataFromFile()
    {
        if (File.Exists(Application.dataPath + "/Resources/SaveData/FloorTransitionData.txt"))
        {
            //fetching and creating references to players current scripts
            player_log       = gameObject.GetComponent <Player_Log>();
            characterStats   = gameObject.GetComponent <CharacterStats>();
            player_Inventory = gameObject.GetComponent <Player_Inventory>();
            skillsManager    = gameObject.GetComponent <SkillsManager>();

            Data = (PlayerObjectData)ScriptableObject.CreateInstance("PlayerObjectData");
            TextAsset jsonFile = Resources.Load("SaveData/FloorTransitionData") as TextAsset;
            JsonUtility.FromJsonOverwrite(jsonFile.text, Data);

            characterStats.loadData(Data);
            skillsManager.loadData(Data);
            player_log.loadData(Data);
            player_Inventory.loadData(Data);

            Debug.Log("Data Loaded from previous Floor");
        }
        else
        {
            Debug.Log("Transition Save Data not found");
        }
    }
示例#2
0
    public void savePlayerDataToFile()
    {
        //fetching and creating references to players current scripts
        player_log       = gameObject.GetComponent <Player_Log>();
        characterStats   = gameObject.GetComponent <CharacterStats>();
        player_Inventory = gameObject.GetComponent <Player_Inventory>();
        skillsManager    = gameObject.GetComponent <SkillsManager>();

        //creating scriptable instance of the PlayerObjectData that will be saved as JSON
        Data = (PlayerObjectData)ScriptableObject.CreateInstance("PlayerObjectData");

        //adding Data from different classes

        //adding Data from CharacterStats
        Data.saveCharacterStatData(characterStats.getStatBaseValue("HP"), characterStats.getCurrentHP(), characterStats.getStatBaseValue("Attack"), characterStats.getStatBaseValue("Defence"),
                                   characterStats.getStatBaseValue("Agility"), characterStats.CharacterLevel, characterStats.getExperiencePoints(), characterStats.Level_Experience_Required);

        //adding Data from inventory
        Data.saveInventoryItems(player_Inventory.getInventory());

        //Adding Data from SkillManager
        Data.saveSkillManager(skillsManager.getAllPlayerSkills(), skillsManager.getSlot1Skill(), skillsManager.getSlot2Skill());

        //Adding Data from Attacklog
        Data.savePlayerLog(player_log);

        //Saving instance to new file
        File.WriteAllText(Application.dataPath + "/Resources/SaveData/FloorTransitionData.txt",
                          JsonUtility.ToJson(Data));

        if (!transitionFloorInt.Equals(-1))
        {
            SceneManager.LoadScene(transitionFloorInt, LoadSceneMode.Single);
        }
    }
 public void setSafeLocation()
 {
     safeLocation = new PlayerObjectData {
         x = gameObject.transform.position.x,
         y = -3.9f, //gameObject.transform.position.y, clamp to floor
         z = gameObject.transform.position.z
     };
 }
    public override void setLoadData(object obj)
    {
        PlayerObjectData data = (PlayerObjectData)obj;

        gameObject.transform.position = new Vector3(data.x, data.y, data.z);
        gameObject.SetActive(data.enabled);
        //GetComponent<SpriteRenderer>().enabled = data.spriteRenderer;
        //Debug.Log("data.spriteRenderer:" + data.spriteRenderer);
        Debug.Log("load_" + data.x);
    }
示例#5
0
    //Methods for Player_Log
    public void loadData(PlayerObjectData playerObjectData)
    {
        attackLog.Clear();
        attackLog.AddRange(playerObjectData.attackLog);

        //Loading individual counts
        totalSpirits = playerObjectData.totalSpirits;

        Debug.Log("Player Log Data Loaded");
    }
 void Awake()
 {
     safeLocation = new PlayerObjectData {
         x = gameObject.transform.position.x,
         y = gameObject.transform.position.y,
         z = gameObject.transform.position.z
     };
     safeLocation.enabled = gameObject.activeSelf;
     //GetComponent<SpriteRenderer>().enabled;
     Debug.Log("start_" + safeLocation.x);
 }
示例#7
0
    //this will load the saved data after loading to a new floor
    public void loadData(PlayerObjectData playerObjectData)
    {
        HP.statBaseValue          = playerObjectData.HPValue;
        currentHP                 = playerObjectData.currentHP;
        Attack.statBaseValue      = playerObjectData.AttackValue;
        Defence.statBaseValue     = playerObjectData.DefenceValue;
        Agility.statBaseValue     = playerObjectData.AgilityValue;
        CharacterLevel            = playerObjectData.CharacterLevel;
        Level_Experience_Required = playerObjectData.Level_Experience_Required;

        updateUIHPGauge();

        Debug.Log("Character Stats Loaded");
    }
示例#8
0
    //this method will load all the skill data from the playerObjectData
    public void loadData(PlayerObjectData playerObjectData)
    {
        playerSkills.Clear();
        playerSkills.AddRange(playerObjectData.playerSkills);

        //checking if the saved skills are not null then fetch and equip
        if (!playerObjectData.activeSkill1.skillName.Equals(""))
        {
            setSkill1(playerObjectData.activeSkill1.skillName);
        }

        if (!playerObjectData.activeSkill2.skillName.Equals(""))
        {
            setSkill2(playerObjectData.activeSkill2.skillName);
        }


        Debug.Log("Skill Manager Loaded");
    }