Skip to content

Instantly share code, notes, and snippets.

@sugi-cho
Last active August 29, 2015 14:25
Show Gist options
  • Save sugi-cho/c78dcdf1efeae9cdc846 to your computer and use it in GitHub Desktop.
Save sugi-cho/c78dcdf1efeae9cdc846 to your computer and use it in GitHub Desktop.
<iframe width="420" height="315" src="https://www.youtube.com/embed/--fKAwlUUAM" frameborder="0" allowfullscreen></iframe> ##ポイント - `using UnityEngine.Networking;` - ネットワークで同期させる変数、モノは、全てServer側で動かす - ClientからServer側の関数を呼ぶときは`[Command]`Attributeをつける。 - 同期させる変数には`[sync]`Attributeを付け、ServerからClientに同期される。`[sync]`の変数がClient側で変化した時に呼ばれる関数も指定できる。`[sync(hook="SomeFunc")]` - `if(NetworkServer.active)`Serverとして動作しているとき - `if(NetworkClient.active)`

##Serverを立てたりClientを接続したり

var manager = GetComponent<NetworkManager>();
manager.StartServer(); //server
manager.StartClient(); //client
manager.StartHost(); //serverかつclient
manager.StopServer();

とかで、Serverを立てたり、Clientで接続したり。止めたり。

##NetworkManager NetworkManagerのクラスを継承して、Networkの独自処理をするComponentを作っていく。
NetworkManagerをそのまま使っても、重要な部分の処理は既に書かれているので、かなり、ラクできる。

using UnityEngine;
using UnityEngine.Networking;

public class MyNetManager:NetworkManager{
	public override void OnStartClient(NetworkClient client){
		base.OnStartClient(client);
		//処理
	}
	public override void OnClientConnect(NetworkConnection conn){
		//.....
	}
}

##Link

  • ExampleScenes Unity のForumにあった。
  • NetworkManagerHUD.cs 参考になる。(NetworkManagerHUDは、NetworkingをサクッとデバッグするためのComponentだと思ってる。)
  • SimpleUNET ぼくが調べながら作ったやつ。記述量少なめで、ネットワーキングのテストをするコード
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment