public override void processMessage(NetWorker.Utilities.RawMessage message) { Board board = Engine.Game.getBoardById(message.getInt("bid")); Tower tower = board.towers[message.getInt("iob")]; ITowerEffect effect = (ITowerEffect)Activator.CreateInstance(TypeIdGenerator.getTowerEffectClass(message.getInt("tid"))); if (tower != null) { tower.effects.AddLast(effect); } }
public void addTowerEffect(Tower tower, ITowerEffect effect) { // TODO }
public static void sendMessage(ICollection <Player> receiverPlayers, Tower tower, ITowerEffect effect) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GAddEffectOnTower))); if (receiverPlayers != null && receiverPlayers.Count != 0) { msg.putInt("bid", tower.board.instanceId); msg.putInt("iob", tower.indexOnBoard); msg.putInt("tid", TypeIdGenerator.getTowerEffectId(effect.GetType())); foreach (var receiverPlayer in receiverPlayers) { receiverPlayer.user.session.client.SendMessage(msg); } } }