Class: GameMachine::Clients::TestClient
- Inherits:
-
Actor::Base
- Object
- JavaLib::GameActor
- Actor::Base
- GameMachine::Clients::TestClient
show all
- Defined in:
- lib/game_machine/clients/test_client.rb
Constant Summary
Constants inherited
from Actor::Base
Actor::Base::ON_RECEIVE_HOOKS
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Actor::Base
aspect, aspects, find, find_by_address, find_distributed, find_distributed_local, find_remote, hashring, local_path, model_filter, #onReceive, player_controller, #receive_message, #schedule_message, #sender, set_player_controller
Class Method Details
.start(name, port) ⇒ Object
115
116
117
118
119
120
121
|
# File 'lib/game_machine/clients/test_client.rb', line 115
def start(name,port)
client = UdtClient.start(name,'localhost',port)
proxy = TestClientProxy.new(name,client)
Actor::Builder.new(self,name,port,proxy).with_name(name).start
proxy.wait_for_ctx
proxy
end
|
Instance Method Details
#on_receive(message) ⇒ Object
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
# File 'lib/game_machine/clients/test_client.rb', line 132
def on_receive(message)
if message.is_a?(JavaLib::DefaultChannelHandlerContext)
@ctx = message
elsif message == 'ctx'
sender.tell(@ctx) if @ctx
elsif message == 'stop'
context.stop
else
@proxy.actual ||= []
client_message = ClientMessage.parse_from(message.bytes)
client_message.get_entity_list.each do |entity|
GameMachine.logger.info "GOT #{entity.component_names.join(' | ')}"
@proxy.actual << entity
end
end
end
|
#post_init(*args) ⇒ Object
125
126
127
128
129
130
|
# File 'lib/game_machine/clients/test_client.rb', line 125
def post_init(*args)
@name = args[0]
@port = args[1]
@proxy = args[2]
@ctx = nil
end
|