Ejemplo n.º 1
0
    //This method is called when receiving remote heading
    // We update course here
    public void ReceiveHeading(SFSObject data)
    {
        if (receiveMode)
        {
            Vector3 pos = new Vector3(Convert.ToSingle(data.GetNumber("x")),
                                        Convert.ToSingle(data.GetNumber("y")),
                                        Convert.ToSingle(data.GetNumber("z"))
                                        );
            float angle = Convert.ToSingle(data.GetNumber("a"));
            long time = (long) data.GetNumber("t");
            float speed = Convert.ToSingle(data.GetNumber("s"));
            long accelerationTime = (long) data.GetNumber("at");
            float endSpeed = -1;
            if (accelerationTime != -1)
            {
                endSpeed = Convert.ToSingle(data.GetNumber("es"));
            }
            //Debug.Log("ReceiveHeading() has received a heading : "+pos+"; a="+angle+", s="+speed+", t="+time+", at="+accelerationTime+", es="+endSpeed);

            course.InitFromValues(pos, angle, time, speed, endSpeed, accelerationTime);
            if(hasReceivedHeading == true)
                CreateInterceptor();

            hasReceivedHeading = true;
        }
    }
Ejemplo n.º 2
0
 public SendableObject(SmartFox conn, bool encrypt)
 {
     provider = EncryptionProvider.GetInstance();
     sendEncrypted = encrypt;
     connection = conn;
     data = new SFSObject();
 }
Ejemplo n.º 3
0
 public ArrayList getHighScores(string juego)
 {
     SFSObject sfsObject = new SFSObject();
     sfsObject.PutUtfString("tabla",juego);
     extensionManager.sendRequest(new ExtensionRequest("consultarHighScores", sfsObject), "getHighScores", getHighScoresResponse);
     return this.ultimaConsultaHighScores;
 }
Ejemplo n.º 4
0
    void OnConnection(BaseEvent evt)
    {
        bool connectionSuccess = (bool)evt.Params["success"];

        Debug.Log("OnConn:" + connectionSuccess);

        if (connectionSuccess)
        {
            SFSObject loginData = new SFSObject();
            loginData.PutUtfString("username", usernameField.value);
            loginData.PutUtfString("password", passwordField.value);

            sfs.Send(new Sfs2X.Requests.LoginRequest("", "", "MainZone", loginData));

            connectionWindow.SetActive(false);
            loggingWindow.SetActive(true);
        }
        else
        {
            sfs = Connection.Instance().Reset();
            SetupListeners();

            loginWindow.SetActive(true);
            connectionWindow.SetActive(false);
        }
    }
Ejemplo n.º 5
0
 private ISFSObject CreatePublicMessageObject(JSONObject jsonData, string commandId) {
   ISFSObject objOut = new SFSObject();
   objOut.PutByteArray("jsonData", Utils.ToByteArray(jsonData.ToString()));
   objOut.PutUtfString("message", jsonData.GetString("message"));
   objOut.PutUtfString("cmd", commandId);
   return objOut;
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Начать игру с N количеством игроков
 /// </summary>
 /// <param name="maxUsers"></param>
 void Play(PlayModes playMode)
 {
     ISFSObject data = new SFSObject();
     data.PutUtfString("playMode", Util.EnumToStr(playMode));
     data.PutUtfString("nickName", IOL.Instance.UserNick);
     SendToLastJoinedRoom(Reqeusts.Play, data);
 }
Ejemplo n.º 7
0
 public SFSObject toSFSObject()
 {
     SFSObject asocObject = new SFSObject ();
     asocObject.PutLong ("Id_Test", Id_Test);
     asocObject.PutLong ("Id_Task", Id_Tarea);
     return asocObject;
 }
Ejemplo n.º 8
0
 void SendTransform()
 {
     if ((timeLastBuffering >= bufferingPeriod)&&((lastAnimation!="idle")||(currentAnimation!="idle"))) {//&&(lastAnimation.Equals("idle"))
             lastState = NetworkTransform.FromTransform(thisTransform);
             SFSObject data=new SFSObject();
             if (!currentAnimation.Equals(lastAnimation))
                 data.PutUtfString("anim",currentAnimation);
             lastState.ToSFSObject(data);
             buffer.AddSFSObject(data);
             timeLastSending += bufferingPeriod;
             packageSize+=1;
             timeLastBuffering = 0.0f;
             lastAnimation=currentAnimation;
             //return;
         } else if (!packageSize.Equals(0)){
             sendBuffer();
             packageSize=0;
         }
         if (packageSize.Equals(packageMaxSize)){
             sendBuffer();
             packageSize=0;
             //timeLastSending = 0.0f;
         }
     timeLastBuffering += Time.deltaTime;
 }
Ejemplo n.º 9
0
 public void insertarTutorial(string nick, string tutorial)
 {
     SFSObject sfsObject = new SFSObject();
     sfsObject.PutUtfString("nick",nick);
     sfsObject.PutUtfString("tutorial",tutorial);
     extensionManager.sendRequest(new ExtensionRequest("insertarTutorial", sfsObject));
 }
Ejemplo n.º 10
0
 public void getTutorial(string nick, dbCallback getCallback)
 {
     this.getCallback= getCallback;
     SFSObject sfsObject = new SFSObject();
     sfsObject.PutUtfString("nick",nick);
     extensionManager.sendRequest(new ExtensionRequest("consultarTutorial", sfsObject), "getTutorial", getTutorialResponse);
 }
Ejemplo n.º 11
0
    //This method is called when receiving remote transform
    // We update lastState here to know last received transform state
    void ReceiveTransform(SFSObject data)
    {
        Debug.Log("ReceiveTransform()");
        if (receiveMode) {
            Vector3 pos = new Vector3(Convert.ToSingle(data.GetNumber("x")),
                                        Convert.ToSingle(data.GetNumber("y")),
                                        Convert.ToSingle(data.GetNumber("z"))
                                        );

            Quaternion rot = new Quaternion(
                                        Convert.ToSingle(0.0),
                                        Convert.ToSingle(data.GetNumber("ry")),
                                        Convert.ToSingle(0.0),
                                        Convert.ToSingle(data.GetNumber("w"))
            );

            lastState.InitFromValues(pos, rot);

            // Adding next received state to the queue
            NetworkTransform nextState = new NetworkTransform(this.gameObject);
            nextState.InitFromValues(pos, rot);
            queue.Enqueue(nextState);
            Debug.Log("queue length: "+Convert.ToString(queue.Count));
        }
    }
Ejemplo n.º 12
0
	private void initPacketFromHost(SFSObject aObject) {
		long id = aObject.GetLong("i");
		for(int i = 0;i<this.sortedHorses.Count;i++) {
			if(sortedHorses[i].horseID==id) {
				sortedHorses[i].initFromPackage(aObject);
			}
		}
	}
Ejemplo n.º 13
0
 //consulta las noticias segun la categoria y facultad
 public void getBackNews(string category, string faculty)
 {
     SFSObject sfsObject = new SFSObject();
     sfsObject.PutUtfString("categoria",category);
     sfsObject.PutUtfString("facultad",faculty);
     //downloadFinished = false;
     extensionManager.sendRequest(new ExtensionRequest("consultarNews", sfsObject), "getNews", getNewsResponse);
 }
Ejemplo n.º 14
0
 void SendAnimationMessage(string message)
 {
     SmartFoxClient client = NetworkController.GetClient();
     SFSObject data = new SFSObject();
     data.Put("_cmd", "a");  //We put _cmd = "a" here to know that this object contains animation message
     data.Put("mes", message);
     client.SendObject(data);
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Send local transform to the server
 /// </summary>
 /// <param name="ntransform">
 /// A <see cref="NetworkTransform"/>
 /// </param>
 public void SendTransform(NetworkTransform ntransform)
 {
     Room room = sfs.LastJoinedRoom;
     ISFSObject data = new SFSObject();
     ntransform.ToSFSObject(data);
     ExtensionRequest request = new ExtensionRequest("sendTransform", data, room, true); // True flag = UDP
     sfs.Send(request);
 }
Ejemplo n.º 16
0
 void SendDamage(int damage)
 {
     SmartFoxClient client = NetworkController.GetClient();
     SFSObject data = new SFSObject();
     data.Put("_cmd", "d");  //We put _cmd = "d" to identify the message as a damage message
     data.Put("amount", damage); //how much damage was dealt
     client.SendObject(data);
 }
Ejemplo n.º 17
0
 public void insertarMensaje(string nick, string mensaje)
 {
     Debug.Log("Entro al insertarMensaje---------------!!!");
     SFSObject sfsObject = new SFSObject();
     sfsObject.PutUtfString("nick",nick);
     sfsObject.PutUtfString("mensaje",mensaje);
     extensionManager.sendRequest(new ExtensionRequest("insertarMensaje", sfsObject));
 }
Ejemplo n.º 18
0
 void ForceRemotePlayerToSendTransform(User user)
 {
     SmartFoxClient client = NetworkController.GetClient();
     SFSObject data = new SFSObject();
     data.Put("_cmd", "f");  //We put _cmd = "f" here to know that this object contains "force send transform" demand
     data.Put("to_uid", user.GetId()); // Who this message is for
     client.SendObject(data);
 }
Ejemplo n.º 19
0
	public void handlePacketFromHost(SFSObject aObject) {
		long id = aObject.GetLong("i");
		for(int i = 0;i<this.sortedHorses.Count;i++) {
			if(sortedHorses[i].horseID==id) {
				sortedHorses[i].dataPackage = aObject;
			}
		}
	}
Ejemplo n.º 20
0
	public SFSObject asSFSObject(int aRound) {
		SFSObject s = new SFSObject ();
		s.PutInt ("id",this.horseID);
		s.PutUtfString ("c", this.compressedString(aRound));
		s.PutLong ("o", this.ownerID);
		s.PutInt ("u", SmartfoxConnectionHandler.REF.smartfoxuid);
		return s;
	}
Ejemplo n.º 21
0
 public void SendChatMessage(string message)
 {
     Room room = smartFox.LastJoinedRoom;
     SFSObject mes = new SFSObject();
     mes.PutUtfString ("message", message);
     ExtensionRequest request = new ExtensionRequest("chatMessage", mes, room);
     smartFox.Send(request);
 }
Ejemplo n.º 22
0
 public static void InviaAnimazioneControllerClick(int userId, float forward, bool attacco1, bool attacco2)
 {
     SFSObject objOut = new SFSObject();
     objOut.PutFloat("f", forward);
     objOut.PutBool("a1", attacco1);
     objOut.PutBool("a2", attacco2);
     me.sfs.Send(new ExtensionRequest("SanC", objOut, me.sfs.LastJoinedRoom));
 }
Ejemplo n.º 23
0
 private void SendCollisionEvent(string otherUUID)
 {
     SFSObject data = new SFSObject ();
             data.PutUtfString ("a", UUID);
             data.PutUtfString ("b", otherUUID);
             Debug.Log ("Reporting collision between " + UUID + " & " + otherUUID);
             server.Send (new ExtensionRequest ("collision", data, server.LastJoinedRoom));
 }
Ejemplo n.º 24
0
 public void getAvatar(string nick, dbCallback getCallback)
 {
     Debug.Log("Entro al getAvatar---------------!!!");
     this.getCallback= getCallback;
     SFSObject sfsObject = new SFSObject();
     sfsObject.PutUtfString("nick",nick);
     extensionManager.sendRequest(new ExtensionRequest("consultarAvatar", sfsObject), "getAvatar", getAvatarResponse);
 }
Ejemplo n.º 25
0
    public void Button_Clicked(String buttonName)
    {
        if(buttonName == "LoginButton")
        {
            String EncryptedPW = PasswordUtil.MD5Password(PasswordTB.text);
            SFServer.Send(new LoginRequest(UsernameTB.text, EncryptedPW, GAME_ZONE));
            SFServer.Send(new JoinRoomRequest("Game"));
        }
        if(buttonName == "RegisterButton")
        {
            this.RegisterPanel.SetActive(true);
            this.LoginPanel.SetActive(false);
            SFServer.Send(new LoginRequest("", "", "Registration"));
        }
        if(buttonName == "ExitButton")
        {
            SFServer.Disconnect();
            SFServer.RemoveAllEventListeners();
            Application.Quit();
        }
        if(buttonName == "CreateButton")
        {
            InputField UsernameTB = GameObject.Find("UsernameTB").GetComponent<InputField>();
            InputField PasswordTB = GameObject.Find("PasswordTB").GetComponent<InputField>();
            InputField ConfirmPasswordTB = GameObject.Find("ConfirmPasswordTB").GetComponent<InputField>();
            InputField EmailTB = GameObject.Find("EmailTB").GetComponent<InputField>();
            InputField RegistrationKeyTB = GameObject.Find("RegistrationKeyTB").GetComponent<InputField>();
            Debug.Log("Username: "******"Password: "******"ConfirmPW: " + ConfirmPasswordTB.text);
            Debug.Log("Email: " + EmailTB.text);
            Debug.Log("RegistrationKey: " + RegistrationKeyTB.text);

            if(PasswordTB.text == ConfirmPasswordTB.text)
            {
                SFSObject NewAccountObject = new SFSObject();
                NewAccountObject.PutUtfString("Username", UsernameTB.text);
                NewAccountObject.PutUtfString("PasswordHash", PasswordTB.text);
                NewAccountObject.PutUtfString("Email", EmailTB.text);
                NewAccountObject.PutUtfString("RegistrationKey", RegistrationKeyTB.text);

                this.SFServer.Send(new ExtensionRequest("$SignUp.Submit", NewAccountObject));
            }
            else
            {
                if(!MessageText.activeInHierarchy)
                {
                    MessageText.SetActive(true);
                }
                MessageText.GetComponent<Text>().text = "Passwords do not match! Please check and try again.";
            }
        }
        if(buttonName == "BackButton")
        {
            this.LoginPanel.SetActive(true);
            this.RegisterPanel.SetActive(false);
        }
    }
Ejemplo n.º 26
0
 public void getToken(string usuario,string redSocial, dbCallback getCallback)
 {
     Debug.Log("Entro al getToken---------------!!!");
     this.getCallback= getCallback;
     SFSObject sfsObject = new SFSObject();
     sfsObject.PutUtfString("usuario",usuario);
     sfsObject.PutUtfString("redSocial",redSocial);
     smartFox.Send(new ExtensionRequest("consultarToken",sfsObject));
 }
Ejemplo n.º 27
0
 //Insercion de doorlog
 public void insertarDoorLog(string usuario,string puerta, string siguienteescena)
 {
     SFSObject sfsObject = new SFSObject();
     sfsObject.PutUtfString("usuario",usuario.ToString());
     sfsObject.PutUtfString("escena",siguienteescena.ToString());
     sfsObject.PutUtfString("puerta",puerta.ToString());
     extensionManager.sendRequest(new ExtensionRequest("insertarDoorLog", sfsObject));
     Debug.Log("InsertarAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
 }
Ejemplo n.º 28
0
 public void SendHealthChange(string ShooterName, int damage)
 {
     SFSObject message = new SFSObject ();
     message.PutUtfString ("shooterName", ShooterName);
     message.PutInt("damage",damage);
     Room room = smartFox.LastJoinedRoom;
     ExtensionRequest request = new ExtensionRequest("updateHealth", message, room);
     smartFox.Send(request);
 }
Ejemplo n.º 29
0
 public void insertarAvatar(string nick, string avatar)
 {
     Debug.Log("Entro al insertarAvatar---------------!!!");
     SFSObject sfsObject = new SFSObject();
     sfsObject.PutUtfString("nick",nick);
     Debug.Log("dato insertado = "+ avatar);
     sfsObject.PutUtfString("avatar",avatar);
     extensionManager.sendRequest(new ExtensionRequest("insertarAvatar", sfsObject));
 }
Ejemplo n.º 30
0
 void OnLogin(BaseEvent e)
 {
     Debug.Log("Welcome "+ e.Params["user"]);
     ISFSObject objOut = new SFSObject();
     objOut.PutInt("a",sumA);
     objOut.PutInt("b",sumB);
     _sfs.Send(new ExtensionRequest("SUM_INTS",objOut));
     _sfs.Send(new JoinRoomRequest(roomName));
 }
Ejemplo n.º 31
0
        private void OnTtResult(object data)
        {
            ItemList.Clear();

            JhGameTable GameData = App.GetGameData <JhGameTable>();

            ISFSObject obj = (ISFSObject)data;

            ISFSArray usersArr = obj.GetSFSArray("users");
            long      time     = obj.GetLong("svt");

            for (int i = 0; i < usersArr.Count; i++)
            {
                ISFSObject objItem = usersArr.GetSFSObject(i);
                if (objItem.GetKeys().Length > 0)
                {
                    var rItem = new TtResultItem
                    {
                        Name     = objItem.GetUtfString("nick"),
                        Avatar   = objItem.GetUtfString("avatar"),
                        Sex      = objItem.GetShort("sex"),
                        Gold     = objItem.GetInt("gold"),
                        WinCnt   = objItem.GetInt("win"),
                        LostCnt  = objItem.GetInt("lose"),
                        BipaiCnt = objItem.GetInt("abandon"),
                        UId      = objItem.GetInt("id")
                    };
                    ItemList.Add(rItem);
                }
            }
            int bigWiner = 0;
            int cnt      = 0;

            for (int i = 0; i < ItemList.Count; i++)
            {
                TtResultItem item = ItemList[i];
                if (item.WinCnt > cnt)
                {
                    bigWiner = i;
                    cnt      = item.WinCnt;
                }
            }

            ItemList[bigWiner].IsBigWinner = true;

            ISFSArray sendArr = SFSArray.NewInstance();

            foreach (TtResultItem item in ItemList)
            {
                sendArr.AddSFSObject(item.GetSfsObj());
            }
            ISFSObject sendObj = SFSObject.NewInstance();

            sendObj.PutSFSArray("Users", sendArr);
            sendObj.PutUtfString("Time", DateTime.FromBinary(time).ToString());
            sendObj.PutInt("MaxLun", GameData.maxRound);
            sendObj.PutInt("RoomID", GameData.CreateRoomInfo.RoomId);
            sendObj.PutInt("Ante", GameData.AnteRate[0]);
            sendObj.PutInt("Ju", GameData.CreateRoomInfo.CurRound);
            EventObj.SendEvent("TtResultViewEvent", "TtResultInfo", sendObj);
        }
Ejemplo n.º 32
0
 public void SetPlayerCards(SFSObject dataObject)
 {
     Debug.Log("Received started cards!");
     dominionGame.InitPlayerCards(dataObject);
 }
Ejemplo n.º 33
0
 public void SetCurrentState(SFSObject dataObject)
 {
     Debug.Log("Received current state!");
     dominionGame.UpdateCurrentState(dataObject);
 }
    private void UpdateUserVariables(BaseEvent evt)
    {
        ArrayList   arrayList  = (ArrayList)evt.Params["changedVars"];
        User        user       = (User)evt.Params["user"];
        GameObject  gameObject = (!user.IsItMe) ? GameObject.Find("remote_" + user.PlayerId) : GameObject.Find("localPlayer");
        SFSObject   sFSObject  = new SFSObject();
        bool        flag       = false;
        IEnumerator enumerator = arrayList.GetEnumerator();

        try
        {
            while (enumerator.MoveNext())
            {
                switch ((string)enumerator.Current)
                {
                case "clientState":
                    checkClientState(user);
                    break;

                case "avatarState":
                    Debug.Log("<< AVATAR STATE HAS CHANGED: " + user.Name + " to state:  " + user.GetVariable("avatarState").GetStringValue() + " playerID: " + user.PlayerId);
                    checkAvatarState(user);
                    break;

                case "moveState":
                    if (!user.IsItMe)
                    {
                        sFSObject.PutInt("moveState", user.GetVariable("moveState").GetIntValue());
                        flag = true;
                    }
                    break;

                case "moveDir":
                    if (!user.IsItMe)
                    {
                        sFSObject.PutInt("moveDir", user.GetVariable("moveDir").GetIntValue());
                        flag = true;
                    }
                    break;

                case "x":
                    if (!user.IsItMe)
                    {
                        sFSObject.PutFloat("x", (float)user.GetVariable("x").GetDoubleValue());
                        flag = true;
                    }
                    break;

                case "y":
                    if (!user.IsItMe)
                    {
                        sFSObject.PutFloat("y", (float)user.GetVariable("y").GetDoubleValue());
                        flag = true;
                    }
                    break;

                case "armAngle":
                    if (!user.IsItMe)
                    {
                        sFSObject.PutFloat("armAngle", (float)user.GetVariable("armAngle").GetDoubleValue());
                        flag = true;
                    }
                    break;

                case "faceTargetDir":
                    if (!user.IsItMe)
                    {
                        sFSObject.PutFloat("faceTargetDir", (float)user.GetVariable("faceTargetDir").GetDoubleValue());
                        flag = true;
                    }
                    break;

                case "weaponId":
                    if (gameObject != null)
                    {
                        gameObject.SendMessage("changeWeapon", user.GetVariable("weaponId").GetIntValue());
                    }
                    break;

                case "health":
                    if (gameObject != null)
                    {
                        gameObject.SendMessage("UpdateHealth", (int)user.GetVariable("health").GetDoubleValue());
                    }
                    break;

                case "hacks":
                    if (gameObject != null)
                    {
                        gameObject.SendMessage("UpdateHacks", user);
                    }
                    break;

                case "boost":
                    if (user.GetVariable("boost").GetIntValue() < 0)
                    {
                        Logger.trace("Player boost expired");
                        Player player3 = gameObject.GetComponent("Player") as Player;
                        player3.deactivePickup(isTeam: false);
                    }
                    else
                    {
                        Logger.trace("Player picked up a boost");
                    }
                    break;

                case "teamBoost":
                    if (user.GetVariable("teamBoost").GetIntValue() < 0)
                    {
                        Debug.Log("Player team boost expired");
                        Player player2 = gameObject.GetComponent("Player") as Player;
                        player2.deactivePickup(isTeam: true);
                    }
                    else
                    {
                        Debug.Log("Player picked up a team boost");
                    }
                    break;

                case "inactive":
                    if (user.IsItMe && user.GetVariable("inactive").GetBoolValue())
                    {
                        Player player = gameObject.GetComponent("Player") as Player;
                        player.gs.QuitGame(1);
                    }
                    break;

                case "nickName":
                    if (user.IsItMe)
                    {
                        GameData.MyDisplayName = user.GetVariable("nickName").GetStringValue();
                        Debug.Log("Setting nickname to value: " + user.GetVariable("nickName").GetStringValue());
                    }
                    gameObject.SendMessage("SetDisplayName", user.GetVariable("nickName").GetStringValue());
                    break;
                }
            }
        }
        finally
        {
            IDisposable disposable = enumerator as IDisposable;
            if (disposable != null)
            {
                disposable.Dispose();
            }
        }
        if (gameObject != null && flag)
        {
            gameObject.SendMessage("ReceiveTransform", sFSObject);
        }
    }
    public void OnExtensionResponse(BaseEvent evt)
    {
        try
        {
            string     text       = (string)evt.Params["cmd"];
            ISFSObject iSFSObject = (SFSObject)evt.Params["params"];
            switch (text)
            {
            case "pingAck":
                break;

            case "spawnPlayerAck":
                break;

            case "findRoom":
                Logger.trace("[OnExtensionResponse] found room");
                break;

            case "findRoomAck":
                Logger.trace("[OnExtensionResponse]  room found " + evt.Params.ToString());
                break;

            case "startGame":
                Logger.trace("[OnExtensionResponse]  Receiving Message startGame");
                break;

            case "stopGame":
                Logger.trace("[OnExtensionResponse] Receiving stop game");
                break;

            case "sendEvents":
            {
                SFSArray sFSArray = (SFSArray)iSFSObject.GetSFSArray("events");
                for (int j = 0; j < sFSArray.Size(); j++)
                {
                    SFSObject sFSObject2 = (SFSObject)sFSArray.GetSFSObject(j);
                    int       int3       = sFSObject2.GetInt("playerId");
                    PassEventToPlayerObject(sFSObject2, int3);
                }
                break;
            }

            case "queueTime":
                m_qTime = iSFSObject.GetInt("queueTime");
                break;

            case "sendSummary":
            {
                Debug.Log("\n");
                Debug.Log("\n");
                Debug.Log("\n");
                Debug.Log("### receiving summary");
                Debug.Log("\n");
                Debug.Log("\n");
                Logger.trace("Battle Summary Received");
                Logger.traceError("Summary:" + iSFSObject.GetDump());
                int @int = iSFSObject.GetInt("BanzaiTotal");
                int int2 = iSFSObject.GetInt("AtlasTotal");
                Debug.Log("banzai total: " + @int);
                Debug.Log("atlas total: " + int2);
                GameData.BanzaiHacks = @int;
                GameData.AtlasHacks  = int2;
                string[] keys  = iSFSObject.GetKeys();
                string[] array = keys;
                foreach (string text2 in array)
                {
                    if (!text2.Equals("BanzaiTotal") && !text2.Equals("AtlasTotal"))
                    {
                        SFSObject sFSObject = (SFSObject)iSFSObject.GetSFSObject(text2);
                        Logger.traceError("statData: " + sFSObject.GetDump());
                        int playerId = Convert.ToInt32(text2);
                        GameData.addPlayerStats(playerId, sFSObject);
                    }
                }
                GameObject gameObject = GameObject.Find("Game");
                GamePlay   gamePlay   = gameObject.GetComponent("GamePlay") as GamePlay;
                if (gamePlay != null)
                {
                    gamePlay.BattleSummaryReceived();
                }
                else
                {
                    Debug.Log("cant find gameplay");
                }
                break;
            }

            default:
                Logger.trace("[OnExtensionResponse] unhandled event: " + text);
                break;
            }
        }
        catch (Exception ex)
        {
            Logger.traceError("Exception handling response: " + ex.Message + " >>> " + ex.StackTrace);
        }
    }
    /// <summary>
    /// Sends exension request to the server
    /// </summary>
    /// <param name="id">ID of request</param>
    /// <param name="dataObject">Data to send</param>
    public void sendClientRequest(RequestId id, SFSObject dataObject)
    {
        string extCmd = id.ToString();

        smartFox.Send(new ExtensionRequest(extCmd, dataObject, smartFox.LastJoinedRoom));
    }
Ejemplo n.º 37
0
 /// <summary>
 /// 向服务器端发送扩展请求
 /// </summary>
 /// <param name="cmd">扩展标识</param>
 /// <param name="data">扩展所需参数对象</param>
 public static void SendExtMessage(string cmd, SFSObject data)
 {
     NetMgr.SendExtMessage(cmd, data);
 }
Ejemplo n.º 38
0
    public void ReceiveEvent(SFSObject data)
    {
        Logger.trace(string.Empty);
        Logger.trace("::::::::: ReceiveEvent ::::::::::::");
        Logger.trace(data.GetDump());
        Logger.trace(string.Empty);
        GamePlay gamePlayScript = GamePlay.GetGamePlayScript();
        Player   player         = GetComponent("Player") as Player;
        int      num            = Convert.ToInt32(data.GetInt("playerId"));
        int      num2           = Convert.ToInt32(data.GetInt("msgType"));

        switch (num2)
        {
        case 21:
        case 120:
        case 200:
            break;

        case 1:
            ReceiveSuitWeapon(data);
            break;

        case 101:
            gamePlayScript.serverReady = true;
            Logger.trace("<<  <<  should start game >> >>");
            break;

        case 40:
            Logger.trace("<<  <<  ignoring spawn message for player:" + num.ToString() + " >> >>");
            break;

        case 23:
        {
            if (!player.mIsLocal)
            {
                break;
            }
            int    num15        = Convert.ToInt32(data.GetInt("oppId"));
            int    num16        = Convert.ToInt32(data.GetInt("currHealth"));
            int    num17        = Convert.ToInt32(data.GetInt("boost"));
            int    mNumCaptures = Convert.ToInt32(data.GetInt("captures"));
            int    idx          = Convert.ToInt32(data.GetInt("weaponIdx"));
            Player player3      = gamePlayScript.players[num15 - 1].GetComponent("Player") as Player;
            player3.healthCurrent = num16;
            player3.mNumCaptures  = mNumCaptures;
            player3.changeWeapon(idx);
            if (num17 > 0)
            {
                int num18 = num17 >> 16;
                if ((num18 & 0x8000) > 0)
                {
                    num18 &= 0x7FFF;
                    player3.activateBoostsInProgress(num18);
                }
                num18 = (num17 & 0xFFFF);
                if ((num18 & 0x8000) > 0)
                {
                    num18 &= 0x7FFF;
                    player3.activateBoostsInProgress(num18);
                }
            }
            break;
        }

        case 25:
            if (player.mIsLocal)
            {
                int   puIdx2 = Convert.ToInt32(data.GetInt("boostIdx"));
                float puTime = Convert.ToSingle(data.GetFloat("boostTime"));
                gamePlayScript.setPickupActive(puIdx2, puTime);
            }
            break;

        case 4:
        {
            Logger.trace("<< myPlayer name: " + player.name);
            float   shotAngle      = Convert.ToSingle(data.GetFloat("angle"));
            float   angleIncrement = Convert.ToSingle(data.GetFloat("inc"));
            int     bnum           = Convert.ToInt32(data.GetInt("bnum"));
            Vector3 startPt        = new Vector3(Convert.ToSingle(data.GetFloat("x")), Convert.ToSingle(data.GetFloat("y")) + yAdjust, 0f);
            Logger.trace("<< " + base.gameObject.name + " weapon: " + player.weaponIdx);
            player.remoteShoot(startPt, shotAngle, angleIncrement, bnum);
            break;
        }

        case 5:
        {
            float ang   = Convert.ToSingle(data.GetFloat("angle"));
            int   isGun = Convert.ToInt32(data.GetInt("type"));
            int   num19 = Convert.ToInt32(data.GetInt("num"));
            if (num != GameData.MyPlayerId)
            {
                Logger.trace("<< someone else telling me to throw");
            }
            Vector3 pos = new Vector3(Convert.ToSingle(data.GetFloat("x")), Convert.ToSingle(data.GetFloat("y")) + yAdjust, 0f);
            player.ThrowGrenade(pos, ang, isGun, num19);
            break;
        }

        case 9:
        {
            Logger.trace("received explode message");
            int num14 = Convert.ToInt32(data.GetInt("num"));
            Logger.trace("<< trying to find grenade num " + num14);
            GameObject gameObject6 = GameObject.Find("grenade_" + num14.ToString());
            if (gameObject6 != null)
            {
                Grenade grenade = gameObject6.GetComponent("Grenade") as Grenade;
                grenade.Explode();
            }
            break;
        }

        case 24:
            if (player.mIsLocal)
            {
                gamePlayScript.mGameTimer  = Convert.ToSingle(data.GetFloat("time"));
                gamePlayScript.serverReady = true;
            }
            break;

        case 6:
        {
            int num10 = Convert.ToInt32(data.GetInt("idx"));
            Logger.trace("<< need to change weapon " + num10);
            if (player != null)
            {
                player.changeWeapon(num10);
            }
            break;
        }

        case 18:
        {
            float x2 = Convert.ToSingle(data.GetFloat("xstart"));
            float y2 = Convert.ToSingle(data.GetFloat("ystart"));
            float x3 = Convert.ToSingle(data.GetFloat("xend"));
            float y3 = Convert.ToSingle(data.GetFloat("yend"));
            gamePlayScript.DrawSniperLine(x2, y2, x3, y3);
            break;
        }

        case 8:
        {
            int num6  = Convert.ToInt32(data.GetInt("myIdx"));
            int num7  = Convert.ToInt32(data.GetInt("pType"));
            int puIdx = Convert.ToInt32(data.GetInt("pIdx"));
            Logger.trace("<< receiving pickup " + num6 + "  of type " + num7);
            gamePlayScript.activatePickup(puIdx, num7, num6);
            break;
        }

        case 10:
        {
            float damage     = Convert.ToSingle(data.GetFloat("damage"));
            int   num11      = Convert.ToInt32(data.GetInt("playerId"));
            int   attackerId = Convert.ToInt32(data.GetInt("uAttackerID"));
            int   num12      = Convert.ToInt32(data.GetInt("bnum"));
            int   num13      = Convert.ToInt32(data.GetInt("hs"));
            float health     = Convert.ToSingle(data.GetFloat("health"));
            if (num13 == 1)
            {
                Logger.trace("<< shot was a HEADSHOT!");
            }
            string text2 = "bullet_" + num12;
            Debug.Log("<< damage done by bullet " + text2);
            if (num12 >= 0)
            {
                GameObject gameObject4 = GameObject.Find(text2);
                Debug.Log("<< should destroy bullet " + num12);
                if (gameObject4 != null)
                {
                    Debug.Log("<< should be destroying bullet " + text2);
                    UnityEngine.Object.Destroy(gameObject4);
                }
                else
                {
                    Debug.Log("<< Couldn't find Bullet " + text2);
                    gamePlayScript.addBulletNotToAdd(num12);
                }
            }
            GameObject gameObject5 = gamePlayScript.players[num11];
            if (!(gameObject5 != null))
            {
                break;
            }
            Player player2 = gameObject5.GetComponent("Player") as Player;
            if (player2 != null)
            {
                player2.ApplyDamage(damage, health, num13 == 1, attackerId);
                if (gamePlayScript != null && !(gamePlayScript.mHUD != null))
                {
                }
            }
            break;
        }

        case 16:
        {
            Logger.trace("received rocket explode message");
            int    num9 = Convert.ToInt32(data.GetInt("num"));
            float  x    = Convert.ToSingle(data.GetFloat("x"));
            float  y    = Convert.ToSingle(data.GetFloat("y"));
            string text = "bullet_" + num9;
            Logger.trace("<< trying to find  " + text);
            GameObject gameObject2 = GameObject.Find(text);
            if (gameObject2 == null)
            {
                Debug.Log("couldn't find bullet");
                GameObject gameObject3 = UnityEngine.Object.Instantiate(gamePlayScript.rocket, new Vector3(x, y, 0f), Quaternion.identity) as GameObject;
                Projectile projectile  = gameObject3.GetComponent("Projectile") as Projectile;
                projectile.transform.position = new Vector3(x, y, 0f);
                projectile.Explode();
            }
            else
            {
                Projectile projectile2 = gameObject2.GetComponent("Projectile") as Projectile;
                projectile2.transform.position = new Vector3(x, y, 0f);
                projectile2.Explode();
            }
            break;
        }

        case 17:
        {
            int num8 = Convert.ToInt32(data.GetInt("num"));
            player.ShowTaunt(num8);
            break;
        }

        case 20:
        {
            int num3 = Convert.ToInt32(data.GetInt("uAttackerID"));
            int num4 = Convert.ToInt32(data.GetInt("playerId"));
            int num5 = Convert.ToInt32(data.GetInt("bnum"));
            if (num5 >= 0)
            {
                GameObject gameObject = GameObject.Find("bullet_" + num5);
                if (gameObject != null)
                {
                    Logger.trace("<< killing bullet " + num5 + " because it collided with player");
                    UnityEngine.Object.Destroy(gameObject);
                }
            }
            gamePlayScript.mHUD.AddMessage(GameData.trimDisplayName(gamePlayScript.m_networkManager.getNameByID(num3 + 1)) + " hacked " + GameData.trimDisplayName(gamePlayScript.m_networkManager.getNameByID(num4 + 1)));
            break;
        }

        case 50:
            if (!(base.gameObject.name != "localPlayer"))
            {
                Logger.trace("<< play beep because can't perform action");
            }
            break;

        case 22:
        {
            int pickupType = Convert.ToInt32(data.GetInt("uPickup"));
            player.deactivatePickupOnPlayer(pickupType);
            break;
        }

        default:
            Logger.traceError("<< UNHANDLED MESSAGE : " + num2);
            break;
        }
    }
Ejemplo n.º 39
0
        void OnResponse(BaseEvent eventParam)
        {
            if (false)
            {
                Console.WriteLine("OnResponse : " + eventParam.Type);
                foreach (var kvp in eventParam.Params)
                {
                    Console.WriteLine("\t" + kvp.Key + " : " + kvp.Value);
                }
            }
            var varst = (SFSObject)eventParam.Params["params"];

            //Console.WriteLine(varst.GetDump());

            Task.Run(() =>
            {
                var vars  = (SFSObject)eventParam.Params["params"];
                var array = eventParam.Params["cmd"].ToString().Split('.');
                var text  = array[0];
                if (text == "Chat")
                {
                    Console.WriteLine(text);
                }
                else if (text == "TemtemWelfare")
                {
                    Console.WriteLine(text);
                }
                else if (text == "PA")
                {
                    Console.WriteLine(text);
                }
                else if (text == "GameStart")
                {
                    if (vars.ContainsKey("inbattle"))
                    {
                        InBattle = vars.GetBool("inbattle");
                    }
                    GameStarted = true;
                    X           = vars.GetFloat("x");
                    Y           = vars.GetFloat("z");
                    //Thread.Sleep(700);
                    SFClient.Send(new LogoutRequest());
                    //Task.Run(() => { SFClient.Send(new LogoutRequest()); });
                }
                else if (text == "Monsters")
                {
                    Console.WriteLine(text);
                }
                else if (text == "PickAndBan")
                {
                    Console.WriteLine(text);
                }
                else if (text == "Notifications")
                {
                    Console.WriteLine(text);
                }
                else if (text == "UCP")
                {
                    Console.WriteLine(text);
                }
                else if (text == "Coop")
                {
                    Console.WriteLine(text);
                }
                else if (text == "Friends")
                {
                    Console.WriteLine(text);
                }
                else if (text == "Gameplay")
                {
                    //Console.WriteLine(text);
                }
                else if (text == "Battle")
                {
                    if (array.Length > 1)
                    {
                        if (array[1] == "CurrentState")
                        {
                            var enemies = vars.GetSFSArray("aiMon");
                            var count   = 0;

                            foreach (temtem.networkserialized.NetworkMonster monster in enemies)
                            {
                                if (monster == null)
                                {
                                    continue;
                                }
                                count++;
                            }

                            if (!fleed)
                            {
                                battleTicks.Add(Environment.TickCount);
                                battleTimes.Add(battleTicks.Last() - battleTicks[battleTicks.Count - 2]);
                                Console.WriteLine(DateTime.Now + " : new battle, last battle time " + (battleTimes.Last() / 1000.0f) + ", average time " + battleTimes.Average() / 1000.0f);
                                fleed = true;
                                while (fleeBug)
                                {
                                }
                                fleeBug    = true;
                                fleeThread = new Thread(() =>
                                {
                                    while (fleeBug)
                                    {
                                        if (!SFClient.IsConnected)
                                        {
                                            SFClient.KillConnection();
                                            Console.WriteLine("reseting");
                                            Thread.Sleep(2000);
                                            return;
                                        }
                                        var actype4 = new SFSObject();
                                        actype4.PutByte("actype", 4);
                                        SFClient.Send(new ExtensionRequest("battle", actype4));
                                        SFClient.Send(new ExtensionRequest("battle", actype4));

                                        var aioArray = new SFSArray();
                                        for (Byte i = 0; i < count; i++)
                                        {
                                            var aioObj = new SFSObject();
                                            aioObj.PutByte("slot", (Byte)(64 + i));
                                            aioObj.PutByte("techI", i);
                                            aioObj.PutByte("actype", 0);
                                            aioArray.AddSFSObject(aioObj);
                                        }
                                        var aio = new SFSObject();
                                        aio.PutSFSArray("aiO", aioArray);
                                        Thread.Sleep(2500);
                                        if (fleeBug)
                                        {
                                            SFClient.Send(new ExtensionRequest("battle", aio));
                                        }
                                        Thread.Sleep(1000);
                                    }
                                });
                                fleeThread.Start();
                            }
                            foreach (temtem.networkserialized.NetworkMonster monster in enemies)
                            {
                                if (monster == null)
                                {
                                    continue;
                                }
                                var monsterCache = Temtems.AllTemtems[monster.monsterNumber];
                                Console.WriteLine("    " + monsterCache.name + " (lvl" + monster.level + ") : " + (monster.luma ? "Shiny" : "Normal") + " : " + (monster.gender ? "Female" : "Male"));
                            }
                        }
                        if (array[1] == "BattleFinished")
                        {
                            fleeBug  = false;
                            InBattle = false;
                            fleed    = false;
                            //Thread.Sleep(2000);
                            SFClient.Send(new LogoutRequest());
                        }
                        if (array[1] == "BattleTurnResult")
                        {
                            if (vars.ContainsKey("result"))
                            {
                                var result = vars.GetSFSArray("result");
                                foreach (SFSObject r in result)
                                {
                                    if (r.GetBool("runres"))
                                    {
                                        //Console.WriteLine("run success");
                                    }
                                    //Console.WriteLine("run fail");
                                }
                            }
                            else
                            {
                                Console.WriteLine("no result");
                            }
                        }
                    }
                }
                else if (text == "Inventory")
                {
                    Console.WriteLine(text);
                }
                else if (text == "PromoCode")
                {
                    Console.WriteLine(text);
                }
                else if (text == "UPP")
                {
                    //Console.WriteLine(text);
                }
                else if (text == "Movement")
                {
                    Console.WriteLine(text);
                }
                else if (text == "Breeding")
                {
                    Console.WriteLine(text);
                }
                else if (text == "World")
                {
                    if (!trigger)
                    {
                        trigger = true;

                        /*Task.Run(() =>
                         * {
                         *      System.Threading.Thread.Sleep(1000);
                         *      Login();
                         * });
                         * Task.Run(() =>
                         * {
                         *      System.Threading.Thread.Sleep(2000);
                         *      SFClient.Send(new ExtensionRequest("joinRoom", new SFSObject()));
                         * });*/
                    }
                    Console.WriteLine(text);
                }
                else if (text == "SetNickname")
                {
                    Console.WriteLine(text);
                }
                else if (text == "Trade")
                {
                    Console.WriteLine(text);
                }
                else if (text == "PCControl")
                {
                    Console.WriteLine(text);
                }
                else
                {
                    Console.WriteLine("unk : " + text);
                }
            });
        }
Ejemplo n.º 40
0
    IEnumerator HandleVoiceMessage(float waitSeconds, SFSObject dataObj)
    {
        yield return(new WaitForSeconds(Math.Max(0.001f, waitSeconds)));

        VoiceManager.Inst.HandleMessage(dataObj);
    }
Ejemplo n.º 41
0
 public void RequestGameInfo()
 {
     SendRequest(new ExtensionRequest(GameKey + InteractParameter.Crjin, SFSObject.NewInstance()));
 }
Ejemplo n.º 42
0
        public void ReadyGame()
        {
            IRequest request = new ExtensionRequest(GameKey + RequestCmd.Ready, SFSObject.NewInstance());

            SendRequest(request);
        }
Ejemplo n.º 43
0
 public void UpdateNumberCard(SFSObject dataObject)
 {
     Debug.Log("Received checking cost card!");
     dominionGame.buyCard(dataObject);
 }
Ejemplo n.º 44
0
 public void RecordObjectMessage(User sender, SFSObject message)
 {
     msgRecorder.RecordObjectMessage(sender, message);
 }
Ejemplo n.º 45
0
 public override void Behaviour(string cmd, int id, SFSObject data)
 {
 }