void SetBattle() { state = NetworkState.Battle; server.ClearMessageHandlers(); server.SetMessageHandler(MessageType.Connect, ConnectHandler); server.SetMessageHandler(MessageType.Disconnect, DisconnectHandler); server.SetMessageHandler(MessageType.Timeout, TimeoutHandler); server.SetMessageHandler(MessageType.Move, MoveHandler); server.SetMessageHandler(MessageType.Attack, AttackHandler); server.SetMessageHandler(MessageType.Recall, RecallHandler); server.SetMessageHandler(MessageType.BuyItem, BuyItemHandler); server.SetMessageHandler(MessageType.SellItem, SellItemHandler); server.SetMessageHandler(MessageType.UseItem, UseItemHandler); server.SetMessageHandler(MessageType.Change, ChangeHandler); server.SetMessageHandler(MessageType.Cast, CastHandler); server.SetMessageHandler(MessageType.Chat, ChatHandler); server.SetMessageHandler(MessageType.Select, SelectHandler); ((RootEntity)Root).CreateWorld(); foreach (var keyValue in peers) { Champion champion = new Champion(keyValue.Key, Root.GetChild <WorldEntity>().GetFountainPosition(keyValue.Value.Team), 0, 0.3f, keyValue.Value.Type, keyValue.Value.Team, initGold, Root); Root.GetChild <WorldEntity>().AddChild(champion); keyValue.Value.UnitID = champion.UnitID; } }