/// <summary> /// Initialisiert die Komponente. /// </summary> void Start() { info = GetComponentInParent <AdditionalGUIInfo>(); okm = new OnKillNetworkMessage(); // GUI if (isLocalPlayer) { // Lebensbalken guiHealthBar = GameObject.Find("slider_life").GetComponent <Slider> (); guiHealthBar.maxValue = info.GetHealthBarValueOnDamage(0); guiHealthBar.value = guiHealthBar.maxValue; // Text zum Lebensbalken guiHealthTxt = GameObject.Find("txt_life").GetComponent <Text> (); guiHealthTxt.text = "Leben: " + guiHealthBar.value + "/" + guiHealthBar.maxValue; } }
/// <summary> /// Handler fuer Netzwerkmitteilung, wenn jemand besiegt wurde. /// </summary> /// <param name="msg">Mitteilung mit Namen von Sieger und besiegten.</param> private void OnKill(NetworkMessage message) { OnKillNetworkMessage okm = message.ReadMessage <OnKillNetworkMessage> (); // Schreibe in den Chat als Systemmeldung chat.OnKill(okm.targetName.Split(')')[1], okm.killedByName); // Respawn, wenn selber gestorben if (okm.targetNetId == netId.Value) { Respawn(); } // Wurde mein Angriffsziel besiegt von mir oder jemand anderem, // dann resete mein Ziel. else if (target && okm.targetNetId == targetNetId) { ResetTarget(); } // Wurde eine Basis zerstoert? if (okm.targetName.Contains("base")) { // Zeige Meldung, ob gewonnen oder verloren if (!GameObject.Find(okm.targetName).tag.Contains(transform.tag)) { GameObject go = Instantiate(Resources.Load("u_win", typeof(GameObject))) as GameObject; go.transform.SetParent(GameObject.Find("Canvas").transform); } else { GameObject go = Instantiate(Resources.Load("u_lose", typeof(GameObject))) as GameObject; go.transform.SetParent(GameObject.Find("Canvas").transform); } // Beende das Match if (isServer && isLocalPlayer) { GameObject.Find("NetworkManager").GetComponent <Manager> ().gameOver = true; GameObject.Find("NPCManager").GetComponent <NPCManager> ().Stop(); } } }
/// <summary> /// Initiert die Komponente. /// </summary> void Start() { info = GetComponentInParent <AdditionalGUIInfo>(); okm = new OnKillNetworkMessage(); }