Important: UNet adalah solusi yang diuraikan, dan Solusi Multiplayer baru dan NetworkingSistem Unity yang memungkinkan game multiplayer di jaringan komputer. More info Lihat di Glossary (Netcode untuk GameObjects) sedang berkembang. Untuk informasi lebih lanjut dan langkah selanjutnya melihat informasi di . |
Saat menggunakan Network ManagerA Networking component that manages the network state of a project. More info
See in Glossary dengan metode Jaringan Manajer HUD, metode WordPress.org memungkinkan pembuatan pertandingan, dan mengisi properti WordPress.org dengan objek NetworkMatch. Setelah ini aktif, Manajer Jaringan HUD menggunakannya dan metode panggilan pada NetworkManager untuk memungkinkan Anda melakukan pembuatan pertandingan sederhana.
Ada fungsi virtual pada NetworkManager
yang dapat Anda sesuaikan dengan cara menurunkan kelas Anda sendiri dari NetworkManager
. Anda kemudian dapat menyesuaikan cara kelas NetworkManager
baru Anda menanggapi callback Matchmaker.
Berikut adalah callback dan implementasi default mereka. Jika Anda menimpa mereka, ada beberapa metode yang memerlukan bahwa Anda memanggil implementasi dasar, jika tidak fungsi dengan Pemeriksa Jaringan HUD. Sebagai contoh, implementasi default OnMatchCreate
, memulai host.
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.Networking.Match;
public class CustomManager : NetworkManager {
public override void OnMatchCreate(bool success, string extendedInfo, MatchInfo matchInfo) {
if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnMatchCreate Success:{0}, ExtendedInfo:{1}, matchInfo:{2}", success, extendedInfo, matchInfo); }
if(success)
StartHost(matchInfo);
}
public override void OnMatchJoined(bool success, string extendedInfo, MatchInfo matchInfo) {
if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnMatchJoined Success:{0}, ExtendedInfo:{1}, matchInfo:{2}", success, extendedInfo, matchInfo); }
if(success)
StartClient(matchInfo);
}
public override void OnMatchList(bool success, string extendedInfo, List<MatchInfoSnapshot> matchList) {
if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnMatchList Success:{0}, ExtendedInfo:{1}, matchList.Count:{2}", success, extendedInfo, matchList.Count); }
matches = matchList;
}
public override void OnDestroyMatch(bool success, string extendedInfo) {
if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnDestroyMatch Success:{0}, ExtendedInfo:{1}", success, extendedInfo); }
}
public override void OnDropConnection(bool success, string extendedInfo) {
if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnDestroyMatch Success:{0}, ExtendedInfo:{1}", success, extendedInfo); }
}
public override void OnSetMatchAttributes(bool success, string extendedInfo) {
if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnDestroyMatch Success:{0}, ExtendedInfo:{1}", success, extendedInfo); }
}
}