Beispiel #1
0
    /// <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;
        }
    }
Beispiel #2
0
    /// <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();
            }
        }
    }
Beispiel #3
0
 /// <summary>
 /// Initiert die Komponente.
 /// </summary>
 void Start()
 {
     info = GetComponentInParent <AdditionalGUIInfo>();
     okm  = new OnKillNetworkMessage();
 }