Esempio n. 1
0
    private void archieveEnter()
    {
        DataOfPlayer dataOfPlayer = DataOfPlayer.getInstance(0, 0, Vector3.zero, 0, null, false);

        if (dataOfPlayer != null && dataOfPlayer.isArchieve)
        {
            //设置人物位置
            GameObject player = GameObject.FindGameObjectWithTag("Player");
            player.GetComponent <PlayerState>().Hp = dataOfPlayer.playerData.Hp;
            player.GetComponent <PlayerState>().Mp = dataOfPlayer.playerData.Mp;
            player.transform.position = dataOfPlayer.playerData.playerPosition;
            setCollecter(dataOfPlayer.playerData.collectors);//设置硬币已经得到数
            //重新设置硬币
            GameObject[] gameObjects = GameObject.FindGameObjectsWithTag("Coin");
            foreach (GameObject i in gameObjects)
            {
                Destroy(i);
            }
            foreach (Vector3 i in dataOfPlayer.coins)
            {
                Instantiate(coins, i, Quaternion.identity);
            }
            dataOfPlayer.setArchieve(false);
        }
    }
Esempio n. 2
0
    public int LoadArch()
    {
        string         name;
        Vector3        v3 = Vector3.zero;
        List <Vector3> coins = new List <Vector3>();
        int            scene = 0, collecters = 0;
        float          hp = 0, mp = 0;

        //将data中的object存入
        foreach (Item i in data.items)
        {
            if (i.tag == "Player")
            {
                name       = i.name;
                v3         = new Vector3((float)i.x, (float)i.y, (float)i.z);
                hp         = (float)i.Hp;
                mp         = (float)i.Mp;
                collecters = i.collectors;
            }
            if (i.tag == "Scene")
            {
                scene = i.scene;
            }
            if (i.tag == "Coin")
            {
                coins.Add(new Vector3((float)i.x, (float)i.y, (float)i.z));
            }
            DataOfPlayer.getInstance(hp, mp, v3, collecters, coins, true);
        }
        return(scene);
    }
Esempio n. 3
0
 public static DataOfPlayer getInstance(float ahp, float amp, Vector3 position, int collectors, List <Vector3> coinPosition, bool archieve)
 {
     if (archieve == true)
     {
         dataOfPlayer = new DataOfPlayer();
         dataOfPlayer.setData(ahp, amp, position, collectors, archieve);
         dataOfPlayer.setCoins(coinPosition);
     }
     return(dataOfPlayer);
 }
Esempio n. 4
0
    public static void Player(GameManager game)
    {
        BinaryFormatter formatter  = new BinaryFormatter();
        string          filePath   = Application.persistentDataPath + "/playerInfo.dat";
        FileStream      fileStream = new FileStream(filePath, FileMode.Create);

        DataOfPlayer data = new DataOfPlayer(game);

        formatter.Serialize(fileStream, data);
        fileStream.Close();
    }
Esempio n. 5
0
    public static DataOfPlayer Load()
    {
        string filePath = Application.persistentDataPath + "/playerInfo.dat";

        if (File.Exists(filePath))
        {
            BinaryFormatter formatter = new BinaryFormatter();
            FileStream      stream    = new FileStream(filePath, FileMode.Open);

            DataOfPlayer data = formatter.Deserialize(stream) as DataOfPlayer;
            stream.Close();

            return(data);
        }
        else
        {
            Debug.Log("path doesnt exist" + filePath);
            return(null);
        }
    }