topical media & game development
lib-unity-tutorial-network-m2h-Assets-Tutorial-2-Tutorial-2B-Playerscript.js / js
/*
* This file is part of the Unity networking tutorial by M2H (http://www.M2H.nl)
* The original author of this code Mike Hergaarden, even though some small parts
* are copied from the Unity tutorials/manuals.
* Feel free to use this code for your own projects, drop me a line if you made something exciting!
*/
#pragma strict
function Awake(){
if(!networkView.isMine){
//We aren't the network owner, disable this script
//RPC's and OnSerializeNetworkView will STILL get trough!
enabled=false;
}
}
function Update(){
if(networkView.isMine){
//Only the owner can move the cube!
var moveDirection : Vector3 = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
var speed : float = 5;
transform.Translate(speed * moveDirection * Time.deltaTime);
}
}
function OnSerializeNetworkView(stream : BitStream, info : NetworkMessageInfo)
{
if (stream.isWriting){
//Executed on the owner of the networkview;
//The server sends it's position over the network
var pos : Vector3 = transform.position;
stream.Serialize(pos);//"Encode" it, and send it
}else{
//Executed on the others;
//The clients receive a position and set the object to it
var posReceive : Vector3 = Vector3.zero;
stream.Serialize(posReceive); //"Decode" it and receive it
transform.position = posReceive;
}
}
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.