Beispiel #1
0
    public SerialPosition LoadPositionOfPlayer(string playerName)
    {
        string         playerId = QueryReady(GetPlayerId(playerName));
        SerialPosition sPos     = null;

        using (IDbConnection dbconn = new SqliteConnection(connectionString))
        {
            dbconn.Open();
            using (IDbCommand dbcmd = dbconn.CreateCommand())
            {
                string sqlQuery = "SELECT PositionX, PositionY, RotationZ FROM CharacterPositions WHERE IdC=" + playerId;
                dbcmd.CommandText = sqlQuery;
                using (IDataReader reader = dbcmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        float x = reader.GetFloat(0);
                        float y = reader.GetFloat(1);
                        float z = reader.GetFloat(2);

                        sPos = new SerialPosition(x, y, z);
                    }
                }
            }
        }

        return(sPos);
    }
Beispiel #2
0
 public void CallRpcLoadPositionFromDatabase(SerialPosition spos, string playerName)
 {
     if (isServer)
     {
         RpcLoadPositionFromDatabase(spos.posX, spos.posY, spos.rotZ, playerName);
     }
 }
Beispiel #3
0
 public void CallCmdSerializePlayerPosition()
 {
     if (isLocalPlayer)
     {
         SerialPosition spos = GlobalSerialization.SerializePosition(gameObject);
         CmdSerializePlayerPosition(spos.posX, spos.posY, spos.rotZ, GetComponent <PlayerRpg>().playerName);
     }
 }
 public static void DeserializePosition(SerialPosition sPos, GameObject player)
 {
     player.transform.position = new Vector3(sPos.posX, sPos.posY, player.transform.position.z);
     player.transform.rotation = new Quaternion(player.transform.rotation.x, player.transform.rotation.y, sPos.rotZ, player.transform.rotation.w);
 }