Пример #1
0
    public void LevelInfo()
    {
        MObjects.AgentLevel mObject = new MObjects.AgentLevel();
        mObject.id          = (myAgent.user != null) ? myAgent.user.connectionId : myAgent.customId;
        mObject.level       = level.level;
        mObject.exp         = exp;
        mObject.requiredExp = requiredExp;
        ushort _c = (ushort)myAgent.session.users.Count;

        for (ushort i = 0; i < _c; i++)
        {
            if (NetworkServer.connections.Contains(myAgent.session.users[i]))
            {
                NetworkServer.SendToClient(myAgent.session.users[i].connectionId, MTypes.AgentLevel, mObject);
            }
        }
    }
Пример #2
0
    public void OnAgentLevel(NetworkMessage netMsg) // agent level info
    {
        MObjects.AgentLevel mObject = netMsg.ReadMessage <MObjects.AgentLevel>();

        MobileAgent ma = MobileAgent.list.Find(x => x.id == mObject.id);

        if (ma == null)
        {
            return;
        }

        if (ma.level != 0 && ma.level != mObject.level)
        {
            // LEVEL UP PARTICLE
            CreateParticle("LevelUp", ma.transform);
            ma.CreateTextEffect(Language.GetText(59), Color.green);
        }

        else if (ma.exp != 0 && ma.exp != mObject.exp)
        {
            ma.CreateTextEffect((mObject.exp - ma.exp) + " " + Language.GetText(45), Color.yellow);
        }

        ma.level = mObject.level;
        ma.exp   = mObject.exp;

        if (MobileAgent.user == ma)
        {
            /*
             * OUR CLIENTS WORK
             * */

            clientLevelFiller.fillAmount = mObject.exp / (float)mObject.requiredExp;
            clientLevelText.text         = mObject.level.ToString();

            /*
             * UPDATE USER LEVEL TOOLTIP
             * */

            client_level.myLevelInfo = new MObjects.Level();

            int lCount = levels_Grid.childCount;
            for (int i = mObject.level; i > 0; i--)
            {
                Transform t = levels_Grid.Find(i.ToString());
                if (t != null)
                {
                    t.Find("reveal").gameObject.SetActive(true);
                    UILevelItem ul = t.GetComponent <UILevelItem>();
                    client_level.myLevelInfo.Percent_cooldown   += ul.myLevelInfo.Percent_cooldown;
                    client_level.myLevelInfo.Percent_effect     += ul.myLevelInfo.Percent_effect;
                    client_level.myLevelInfo.Percent_health     += ul.myLevelInfo.Percent_health;
                    client_level.myLevelInfo.Percent_fastercast += ul.myLevelInfo.Percent_fastercast;
                    client_level.myLevelInfo.Percent_movespeed  += ul.myLevelInfo.Percent_movespeed;
                }
            }

            string step = "\r\n";
            client_level.core = new System.Text.StringBuilder();
            client_level.pro  = new System.Text.StringBuilder();

            client_level.core.Append(Language.GetText(50));
            client_level.pro.Append("%" + client_level.myLevelInfo.Percent_health);

            client_level.core.Append(step + Language.GetText(51));
            client_level.pro.Append(step + "%" + client_level.myLevelInfo.Percent_effect);

            client_level.core.Append(step + Language.GetText(52));
            client_level.pro.Append(step + "%" + client_level.myLevelInfo.Percent_fastercast);

            client_level.core.Append(step + Language.GetText(53));
            client_level.pro.Append(step + "%" + client_level.myLevelInfo.Percent_cooldown);

            client_level.core.Append(step + Language.GetText(54));
            client_level.pro.Append(step + "%" + client_level.myLevelInfo.Percent_movespeed);
        }

        Transform tGrid = score_grid.Find(ma.team.ToString());

        if (tGrid == null)
        {
            return;
        }

        Transform p = tGrid.Find(ma.id.ToString());

        if (p == null)
        {
            return;
        }

        p.Find("expFiller").GetComponent <Filler>().fillAmount = mObject.exp / (float)mObject.requiredExp;
        p.Find("level").GetComponent <Text>().text             = Language.GetText(44) + " " + mObject.level;
    }