using TNet;
using UnityEngine;
public class demo : MonoBehaviour
{
private string address = "192.168.1.107";
private int port = 10420;
private string playersavepath = "path/";
private void OnEnable()
{
TNManager.onConnect += OnConnect;
TNManager.onSetPlayerData += OnSetPlayerData;
}
private void OnDisable()
{
TNManager.onConnect -= OnConnect;
TNManager.onSetPlayerData -= OnSetPlayerData;
}
[ContextMenu("Connect")]
private void Connect()
{
//simulate successful remote server auth via OnConnect
TNManager.Connect(address, port);
}
private void OnConnect(bool success, string message)
{
Debug.Log(string.Format("success={0} message={1}", success, message));
if (success)
{
//return vars from auth success
int user_id = 1;//reader.ReadInt32();
string username = "Ziggy";//reader.ReadString();
TNManager.playerName = username;
TNManager.SetPlayerSave(playersavepath + username + ".txt", DataNode.SaveType.Text);
SUCCESS(user_id, username);
}
}
private void OnSetPlayerData(Player p, string path, DataNode node)
{
Debug.Log(string.Format("p.name={0} path={1}", p.name, path));
}
private void SUCCESS(int user_id, string username)
{
//here is the problem
//data is set here, but is not available in the "LoadFile" method
TNManager.SetPlayerData("account/user_id", user_id);
TNManager.SetPlayerData("account/username", username);
TNManager.LoadFile(playersavepath + username + ".txt", LoadFile);
}
private void LoadFile(string filename, byte[] data)
{
int user_id = TNManager.GetPlayerData<int>("account/user_id");
string username = TNManager.GetPlayerData<string>("account/username");
Debug.Log(user_id);//returns 0
Debug.Log(username);//returns null
Debug.Log(TNManager.playerData.ToString());
//playerData debug.log:
//doesnt seem to be available on the client
//Version = 20160822
//Server
//lastSave = 63623313874361
}
}