public void Init(Player player, bl_UIReferences uir, bl_AIMananger.BotsStats bot = null)
    {
        Bot             = bot;
        UIReference     = uir;
        BackgroundImage = GetComponent <Image>();

        if (Bot != null)
        {
            InitBot();
            return;
        }

        cachePlayer     = player;
        gameObject.name = player.NickName + player.ActorNumber;
        if (player.ActorNumber == PhotonNetwork.LocalPlayer.ActorNumber)
        {
            Color c = BackgroundImage.color;
            c.a = 0.35f;
            BackgroundImage.color = c;
        }
        InitTeam        = player.GetPlayerTeam();
        NameText.text   = player.NickNameAndRole();
        KillsText.text  = player.CustomProperties[PropertiesKeys.KillsKey].ToString();
        DeathsText.text = player.CustomProperties[PropertiesKeys.DeathsKey].ToString();
        ScoreText.text  = player.CustomProperties[PropertiesKeys.ScoreKey].ToString();
        KickButton.SetActive(PhotonNetwork.IsMasterClient && player.ActorNumber != PhotonNetwork.LocalPlayer.ActorNumber && bl_GameData.Instance.MasterCanKickPlayers);
#if LM
        LevelIcon.gameObject.SetActive(true);
        LevelIcon.sprite = bl_LevelManager.Instance.GetPlayerLevelInfo(cachePlayer).Icon;
#else
        LevelIcon.gameObject.SetActive(false);
#endif
    }
Exemple #2
0
    private bl_PlayerScoreboardUI GetBotScoreboardUI(bl_AIMananger.BotsStats bot)
    {
        for (int i = 0; i < cachePlayerScoreboard.Count; i++)
        {
            if (cachePlayerScoreboard[i].name == (bot.Name))
            {
                return(cachePlayerScoreboard[i]);
            }
        }

        return(null);
    }
    void OnBotStatUpdate(bl_AIMananger.BotsStats stat)
    {
        if (stat.ViewID != photonView.ViewID)
        {
            return;
        }

        BotStat         = stat;
        AIName          = stat.Name;
        AITeam          = BotStat.Team;
        gameObject.name = AIName;
        bl_EventHandler.OnRemoteActorChange(transform, true, false);
    }
    /// <summary>
    ///
    /// </summary>
    void ApplyMasterInfo(List <bl_AIMananger.BotsStats> stats)
    {
        int viewID = photonView.ViewID;

        bl_AIMananger.BotsStats bs = stats.Find(x => x.ViewID == viewID);
        if (bs != null)
        {
            AIName          = bs.Name;
            AITeam          = bs.Team;
            gameObject.name = AIName;
            BotStat         = new bl_AIMananger.BotsStats();
            BotStat.Name    = AIName;
            BotStat.Score   = bs.Score;
            BotStat.Kills   = bs.Kills;
            BotStat.Deaths  = bs.Deaths;
            BotStat.ViewID  = bs.ViewID;
            bl_EventHandler.OnRemoteActorChange(transform, true, false);
        }
    }
Exemple #5
0
    /// <summary>
    ///
    /// </summary>
    void UpdateBotScoreboard()
    {
        if (AIManager == null || !AIManager.BotsActive || AIManager.BotsStatistics.Count <= 0)
        {
            return;
        }

        for (int i = 0; i < AIManager.BotsStatistics.Count; i++)
        {
            bl_AIMananger.BotsStats stat = AIManager.BotsStatistics[i];
            if (botsScoreInstance)
            {
                if (GetBotScoreboardUI(stat) != null)
                {
                    GetBotScoreboardUI(stat).InitBot();
                }
            }
            else
            {
                GameObject newUIPS = Instantiate(PlayerScoreboardPrefab) as GameObject;
                newUIPS.GetComponent <bl_PlayerScoreboardUI>().Init(null, this, stat);
                Transform tp = null;
                if (!isOneTeamMode)
                {
                    tp = stat.Team == Team.Delta ? Team1Panel : Team2Panel;
                }
                else
                {
                    tp = TeamFFAPanel;
                }
                newUIPS.transform.SetParent(tp, false);
                cachePlayerScoreboard.Add(newUIPS.GetComponent <bl_PlayerScoreboardUI>());
            }
        }
        botsScoreInstance = true;
    }