private void StartServer()
{
Network.InitializeServer(4, 25000, !Network.HavePublicAddress());
MasterServer.RegisterHost(typeName, gameName);
}
private void RefreshHostList()
{
MasterServer.RequestHostList(typeName);
}
void OnMasterServerEvent(MasterServerEvent msEvent)
{
if (msEvent == MasterServerEvent.HostListReceived)
hostList = MasterServer.PollHostList();
}
private void JoinServer(HostData hostData)
{
Network.Connect(hostData);
}
testeA
private void SpawnPlayer() { Network.Instantiate(playerPrefab, new Vector3(0f, 5f, 0f),Quaternion.identity, 0); }
void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
{
Vector3 syncPosition = Vector3.zero;
if (stream.isWriting)
{
syncPosition = rigidbody.position;
stream.Serialize(ref syncPosition);
}
else
{
stream.Serialize(ref syncPosition);
rigidbody.position = syncPosition;
}
}
private float lastSynchronizationTime = 0f;
private float syncDelay = 0f;
private float syncTime = 0f;
private Vector3 syncStartPosition = Vector3.zero;
private Vector3 syncEndPosition = Vector3.zero;
void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
{
...
else
{
stream.Serialize(ref syncPosition);
syncTime = 0f;
syncDelay = Time.time - lastSynchronizationTime;
lastSynchronizationTime = Time.time;
syncStartPosition = rigidbody.position;
syncEndPosition = syncPosition;
}
}
private void SyncedMovement() { syncTime += Time.deltaTime; rigidbody.position = Vector3.Lerp(syncStartPosition, syncEndPosition,syncTime / syncDelay);}testeC
void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) { ... Vector3 syncVelocity = Vector3.zero; if (stream.isWriting) { ... syncVelocity = rigidbody.velocity; stream.Serialize(ref syncVelocity); } else { ... stream.Serialize(ref syncVelocity); ... syncEndPosition = syncPosition + syncVelocity * syncDelay; } }testeD
[RPC]void ChangeColorTo(Vector3 color) { renderer.material.color =new Color(color.x,color.y,color.z, 1f);if (networkView.isMine) networkView.RPC("ChangeColorTo",RPCMode.OthersBuffered, color); }teste2




private void SetInit()
{
enabled = true;
}
private void OnHideUnity(bool isGameShown) {
if (!isGameShown) {
Time.timeScale = 0;
} else {
Time.timeScale = 1;
} void Start () {
enabled = false;
FB.Init(SetInit, OnHideUnity);
} if(!FB.IsLoggedIn) { if(GUI.Button(botaoLogin_Logout, "Login")) { FB.Login("email,publish_actions",LoginCallback); } }
void LoginCallback(FBResult result) { FB.API("/me?fields=id,first_name,friends.limit(100).fields(first_name,id)",Facebook.HttpMethod.GET, APICallback); FB.API("/me/picture?width=128&height=128",Facebook.HttpMethod.GET, MyPictureCallback); }
void APICallback(FBResult result) // handle user profile info
{
if (result.Error != null)
{
Debug.LogError(result.Error);
return;
}
profile = DeserializeJSONProfile(result.Text);
GameStateManager.Username = profile["first_name"];
friends = DeserializeJSONFriends(result.Text);
}