Ejemplo n.º 1
0
    public void InitIndividual(bl_KillFeed.LocalKillInfo info)
    {
        if (KillFeed == null)
        {
            KillFeed = FindObjectOfType <bl_KillFeed>();
        }
        if (Anim == null)
        {
            Anim = GetComponent <Animator>();
        }
        NameText.text  = info.Killed;
        ValueText.text = (info.HeadShot) ? bl_GameTexts.HeadShot.ToUpper() : bl_GameTexts.KillingInAction.ToUpper();
        int spk = bl_GameData.Instance.ScoreReward.ScorePerKill;

        if (info.HeadShot)
        {
            ExtraText.text = string.Format("{0} <b>+{1}</b>\n{2} +{3}", info.Weapon.ToUpper(), spk, bl_GameTexts.HeadShot.ToUpper(), bl_GameData.Instance.ScoreReward.ScorePerHeadShot);
        }
        else
        {
            ExtraText.text = string.Format("{0} <b>+{1}</b>", info.Weapon.ToUpper(), spk);
        }
        gameObject.SetActive(true);
        if (CircleAnim != null)
        {
            CircleAnim.Play("play", 0, 0);
        }
        Anim.SetBool("show", true);
        Anim.Play("show", 0, 0);
        if (Alpha == null)
        {
            Alpha = GetComponent <CanvasGroup>();
        }
        StartCoroutine(HideAnimated());
    }
    /// <summary>
    /// when we get a new kill, synchronize and add points to the player
    /// </summary>
    public void AddKill(bool m_heat, string m_weapon, int W_id)
    {
        //Send a new event keelfeed
        //bl_EventHandler.KillEvent(PhotonNetwork.player.name, this.gameObject.name, "Killed ["+m_weaponEnemy+"]", (string)PhotonNetwork.player.customProperties["Team"],777, 30);
        bl_KillFeed feed = GameObject.FindWithTag("GameManager").GetComponent <bl_KillFeed>();

        if (!m_heat)
        {
            feed.OnKillFeed(base.LocalName, this.gameObject.name, "Killed [" + m_weapon + "]", myTeam, W_id, 30);
        }
        else
        {
            feed.OnKillFeed(base.LocalName, this.gameObject.name, "HeatShot! [" + m_weapon + "]", myTeam, 6, 30);
        }

        //Add a new kill and update information
        PhotonNetwork.player.PostKill(1);//Send a new kill
        //Add xp for score and update
        int rando;

        //If heatshot will give you double experience
        if (m_heat)
        {
            rando = Random.Range((int)RandomScore.x * 2, (int)RandomScore.y * 2);
            bl_EventHandler.OnKillEvent("Killed Enemy", (int)rando / 2);
            bl_EventHandler.OnKillEvent("HeatShot Bonus", (int)rando / 2);
        }
        else
        {
            rando = Random.Range((int)RandomScore.x, (int)RandomScore.y);
            bl_EventHandler.OnKillEvent("Killed Enemy", (int)rando);
        }
        //Send to update score to player
        PhotonNetwork.player.PostScore(rando);

        //TDM only if the score is updated
        if (GetGameMode == GameMode.TDM)
        {
            //Update ScoreBoard
            if (myTeam == Team.Delta.ToString())
            {
                int CurrentScore = (int)PhotonNetwork.room.customProperties[PropiertiesKeys.Team1Score];
                CurrentScore++;
                Hashtable setTeamScore = new Hashtable();
                setTeamScore.Add(PropiertiesKeys.Team1Score, CurrentScore);
                PhotonNetwork.room.SetCustomProperties(setTeamScore);
            }
            else if (myTeam == Team.Recon.ToString())
            {
                int CurrentScore = (int)PhotonNetwork.room.customProperties[PropiertiesKeys.Team2Score];
                CurrentScore++;
                Hashtable setTeamScore = new Hashtable();
                setTeamScore.Add(PropiertiesKeys.Team2Score, CurrentScore);
                PhotonNetwork.room.SetCustomProperties(setTeamScore);
            }
        }
    }
 /// <summary>
 ///
 /// </summary>
 protected override void Awake()
 {
     base.Awake();
     m_CharacterController = GetComponent <CharacterController>();
     KillFeed           = FindObjectOfType <bl_KillFeed>();
     GameData           = bl_GameData.Instance;
     Indicator          = GetComponent <bl_DamageIndicator>();
     PlayerSync         = GetComponent <bl_PlayerSync>();
     GunManager         = transform.GetComponentInChildren <bl_GunManager>(true);
     HealthRegeneration = GameData.HealthRegeneration;
 }