changes to make joining a friends table possible
This commit is contained in:
parent
726528985b
commit
8a574db360
8 changed files with 120 additions and 132 deletions
|
@ -9,8 +9,10 @@ class Chat
|
|||
include GGSDelegate
|
||||
|
||||
def initialize
|
||||
@ggs_network = GGSNetwork.new(self)
|
||||
@ggs_network.connect("localhost")
|
||||
print "Table token (empty for new): "
|
||||
table_token = gets.chomp
|
||||
@ggs_network = GGSNetwork.new(self, table_token)
|
||||
@ggs_network.connect("ggs.jeena.net", 9000)
|
||||
end
|
||||
|
||||
def ggsNetworkReady(ggs_network, am_i_host)
|
||||
|
|
|
@ -20,4 +20,4 @@ function changeNick(player_id, nick) {
|
|||
function message(player_id, message) {
|
||||
var nick = GGS.localStorage.getItem("nick_" + player_id);
|
||||
GGS.sendCommandToAll('message', nick + "> " + message);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,8 +9,10 @@ class GGSNetwork
|
|||
|
||||
attr_accessor :delegate
|
||||
|
||||
def initialize(delegate)
|
||||
def initialize(delegate, table_token="")
|
||||
@table_token = table_token
|
||||
@delegate = delegate
|
||||
@player_token = nil
|
||||
end
|
||||
|
||||
def define(source_code)
|
||||
|
@ -23,12 +25,14 @@ class GGSNetwork
|
|||
|
||||
def connect(host='localhost', port=9000)
|
||||
@socket = TCPSocket.new(host, port)
|
||||
write( makeMessage(SERVER, "hello", @table_token) )
|
||||
read
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def write(message)
|
||||
#puts message
|
||||
@socket.write(message)
|
||||
end
|
||||
|
||||
|
@ -67,13 +71,16 @@ class GGSNetwork
|
|||
else
|
||||
@delegate.ggsNetworkReceivedCommandWithArgs(self, command, data)
|
||||
end
|
||||
else
|
||||
STDERR.print "ERR: " + [headers, data, @socket.inspect].inspect + "\n"
|
||||
end
|
||||
end
|
||||
|
||||
def makeMessage(serverOrGame, command, args)
|
||||
message = "Token: #{@game_token}\n" +
|
||||
"#{serverOrGame}-Command: #{command}\n" +
|
||||
"Content-Length: #{args.length}\n\n"
|
||||
message = ""
|
||||
message += "Token: #{@player_token}\n" unless @player_token.nil?
|
||||
message += "#{serverOrGame}-Command: #{command}\n" +
|
||||
"Content-Length: #{args.length}\n\n"
|
||||
|
||||
message += args if args.length > 0
|
||||
|
||||
|
@ -81,8 +88,9 @@ class GGSNetwork
|
|||
end
|
||||
|
||||
def parse_hello(message)
|
||||
@game_token, shall_define, @table_token = message.split(",")
|
||||
@player_token, shall_define, @table_token = message.split(",")
|
||||
@am_i_host = shall_define == "true"
|
||||
puts "Table-Token: " + @table_token
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Reference in a new issue