123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- using UnityEngine;
- using Sfs2X.Entities.Data;
- public class LocalConnection : IConnection
- {
- MessageManager.MessageCallBackDelegate callBack;
- private int _myUserId = 1;
- public int myUserId
- {
- set
- {
- }
- get
- {
- return _myUserId;
- }
- }
- public bool holding
- {
- get{
- return false;
- }
- }
- public LocalConnection ()
- {
- }
- public void ProcessEvents()
- {
-
- }
- public void Connect()
- {
-
- }
- public bool IsConnected
- {
- get{
- return true;
- }
- }
- public void SetResponseMessageCallBack(MessageManager.MessageCallBackDelegate callBack)
- {
- this.callBack = callBack;
- }
- public void SendMessage(Message msg)
- {
- if(callBack != null)
- {
- if(msg.cmd == Command.EnterBase)
- DealEnterBase(msg);
- else if(msg.cmd == Command.SearchRoom)
- DealSearchBattle(msg);
- else
- DealBattleMessage(msg);
- }
- }
- private void DealEnterBase(Message msg)
- {
- string mapName = MapData.MapID.Base.ToString ();
-
- ISFSArray arr = new SFSArray ();
-
- ISFSObject myObj = new SFSObject ();
- myObj.PutInt ("u", myUserId);
- myObj.PutInt ("t", TeamUtil.Team.Blue.GetHashCode());
- myObj.PutUtfString ("i", "1");
- myObj.PutUtfString ("n", WWW.EscapeURL(Session.GetInstance().myUserData.nick));
- arr.AddSFSObject(myObj);
-
- ISFSObject oppObj = new SFSObject ();
- oppObj.PutInt ("u", -1);
- oppObj.PutInt ("t", TeamUtil.Team.Red.GetHashCode());
- oppObj.PutUtfString ("i", "-1");
- oppObj.PutUtfString ("n", RandomNPCNick());
- arr.AddSFSObject (oppObj);
-
- ISFSObject data = new SFSObject();
- data.PutUtfString("m", mapName);
- data.PutSFSArray("a", arr);
-
- Message callBackMsg = new Message(Command.SearchRoom, data);
- callBack(callBackMsg.GetMessagePackage());
- }
- private void DealSearchBattle(Message msg)
- {
- string mapName = MapData.GetRandomMap ().ToString ();
- ISFSArray arr = new SFSArray ();
- ISFSObject myObj = new SFSObject ();
- myObj.PutInt ("u", myUserId);
- myObj.PutInt ("t", TeamUtil.Team.Blue.GetHashCode());
- myObj.PutUtfString ("i", Session.GetInstance().myUserData.id.ToString());
- myObj.PutUtfString ("n", WWW.EscapeURL(Session.GetInstance().myUserData.nick));
- arr.AddSFSObject(myObj);
- // ISFSObject oppObj = new SFSObject ();
- // oppObj.PutInt ("u", -1);
- // oppObj.PutInt ("t", TeamUtil.Team.Red.GetHashCode());
- // oppObj.PutUtfString ("n", RandomNPCNick());
- // arr.AddSFSObject (oppObj);
- ISFSObject data = new SFSObject();
- data.PutUtfString("m", mapName);
- data.PutSFSArray("a", arr);
- Message callBackMsg = new Message(Command.SearchRoom, data);
- callBack(callBackMsg.GetMessagePackage());
- }
- private string RandomNPCNick()
- {
- int index = UnityEngine.Random.Range (0, 20);
- return Language.GetStr ("NPCNick", "nick"+index);
- }
- private void DealBattleMessage(Message msg)
- {
- msg.data.PutUtfString (Message.LABEL_SENDER, Session.myUserId.ToString());
- msg.data.PutInt (Message.LABEL_TIMESTAMP, 0);
- callBack(msg.GetMessagePackage());
- }
- private void ResponseMesssage(string cmd, ISFSObject data)
- {
- Message callBackMsg = new Message(cmd, data);
- callBack(callBackMsg.GetMessagePackage());
- }
- public void Disconnect()
- {
- }
- }
|