public void OnAgentHealth(NetworkMessage netMsg) { MObjects.AgentHealth mObject = netMsg.ReadMessage <MObjects.AgentHealth>(); MobileAgent ma = MobileAgent.list.Find(x => x.id == mObject.id); if (ma == null) { return; } if (mObject.hp < ma.currentHealth) { /* * GETHIT * */ ma.CreateTextEffect((ma.currentHealth - mObject.hp).ToString(), Color.red); } ma.currentHealth = mObject.hp; ma.health.fillAmount = mObject.hp / (float)mObject.maxhp; if (!ma.isDead && ma.health.fillAmount <= 0) { CreateParticle("AgentDie", ma.transform); } ma.isDead = (ma.health.fillAmount <= 0); ma.healthText.text = mObject.hp + "/" + mObject.maxhp; ma.anim.SetBool("Dead", ma.isDead); }
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; }