예제 #1
0
    public static void LoadPlayerData()
    {
        string path = Application.persistentDataPath + "/player19.data";

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

            PlayerData data = formatter.Deserialize(stream) as PlayerData;

            PlayerDataState.ReadPlayerData(data);
        }
        else
        {
            SaveDefaultPlayerData();

            BinaryFormatter formatter = new BinaryFormatter();
            FileStream      stream    = new FileStream(path, FileMode.Open);

            PlayerData data = formatter.Deserialize(stream) as PlayerData;

            PlayerDataState.ReadPlayerData(data);
        }
    }
예제 #2
0
        private void checkLogin()
        {
            if (Connected &&
                GetGameInputComponent.name != string.Empty &&
                GetGameInputComponent.password != string.Empty &&
                GetGameInputComponent.Done

                )
            {
                proxy.Invoke <PlayerData>("checkCredentials",
                                          new object[] { GetGameInputComponent.name, GetGameInputComponent.password })
                .ContinueWith( // This is an inline delegate pattern that processes the message
                               // returned from the async Invoke Call
                    (p) =>
                {              // With p do
                    if (p.Result == null)
                    {
                        connectionMessage = "Invalid Login";
                    }
                    else
                    {
                        playerData = p.Result;
                        state      = PlayerDataState.LOGGEDIN;
                    }
                });
            }
        }