void ChangeHandler(Peer peer, byte[] data) { if (!testMode) { return; } ChangeObj changeObj = MessagePackSerializer.Deserialize <ChangeObj>(data); peers[peer.ID].Name = changeObj.Name; Unit unit = Root.GetChild <WorldEntity>().GetUnit(peers[peer.ID].UnitID); if (unit != null) { if (unit.Team != changeObj.Team || unit.Type != changeObj.Type) { unit.ClearReference(); Root.GetChild <WorldEntity>().RemoveChild(unit); Champion champion = new Champion(peer.ID, Root.GetChild <WorldEntity>().GetFountainPosition(changeObj.Team), 0, 0.3f, changeObj.Type, changeObj.Team, initGold, Root); Root.GetChild <WorldEntity>().AddChild(champion); peers[peer.ID].UnitID = champion.UnitID; peers[peer.ID].Team = changeObj.Team; peers[peer.ID].Type = changeObj.Type; } } }
public void ChangeButtonClicked() { Team team; Enum.TryParse(teamDropdown.options[teamDropdown.value].text, out team); UnitType unitType; Enum.TryParse(unitTypeDropdown.options[unitTypeDropdown.value].text, out unitType); ChangeObj changeObj = new ChangeObj() { Team = team, Name = nameInputField.text, Type = unitType }; network.Send(MessageType.Change, MessagePackSerializer.Serialize(changeObj), ENet.PacketFlags.Reliable); }