123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- using Sfs2X.Entities.Data;
- public class AddFlagHandler : BAHandler
- {
- public AddFlagHandler(BARoom room):base(room){}
- public override void HandleRequest (BAServer server, ISFSObject msg, int sender, int timeStamp)
- {
- ISFSObject data = msg.GetSFSObject (Message.LABEL_DATA);
- if(!room.IsMyUserId(sender))
- {
- ISFSArray arr = data.GetSFSArray ("l");
- for(int i=0; i<arr.Count; i++)
- {
- ISFSObject obj = arr.GetSFSObject (i);
- int teamId = obj.GetInt ("t");
- int x = obj.GetInt ("x");
- int y = obj.GetInt ("y");
- int craftId = obj.GetInt ("c");
- bool inBase = obj.GetBool ("b");
- BAFlag flag = null;
- room.flagDict.TryGetValue (teamId, out flag);
- if(flag == null)
- {
- flag = new BAFlag (teamId, x, y);
- flag.inBase = inBase;
- room.flagDict.Add (teamId, flag);
- }
- flag.x = x;
- flag.y = y;
- flag.inBase = inBase;
- }
- }
- server.RoomHandleResponse (msg);
- }
- }
|