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); } } }
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; }