This repository has been archived by the owner on Dec 23, 2021. It is now read-only.
/
GLIExample.java
68 lines (56 loc) · 2.4 KB
/
GLIExample.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import java.util.List;
import com.google.protobuf.ByteString;
public class GLIExample implements GLI {
private GLIService service;
public GLIExample(GLIService service){
this.service = service;
}
@Override
public JOutPiqi.response init(List<String> players) {
System.out.println("init, players: [" + players + "]");
return demo().mergeResponse(
JOutPiqi.callback_response.newBuilder().addActions(
JOutPiqi.action.newBuilder().setStartTimer(
JOutPiqi.timer.newBuilder().setId("timer")
.setDurationInMs(1000)
.setTickDurationInMs(3000)
)).build()
).build();
}
@Override
public JOutPiqi.response handle_action(String userId, String commandName,
List<ByteString> args, ByteString state) {
System.out.println("handle_action [" + commandName + "] with [" + args + "], state: ["+state.toStringUtf8() + "]");
// service.buy_item_request(userId, 1, 1);
return demo().build();
}
@Override
public JOutPiqi.response handle_timer(String id, int delta,
ByteString state) {
System.out.println("handle_timer [" + id + "], delta [" + delta + "], state: [" + state.toStringUtf8() + "]");
return demo().build();
}
@Override
public JOutPiqi.response handle_timer_complete(String id, int delta,
ByteString state) {
System.out.println("handle_timer_complete [" + id + "], delta [" + delta + "], state: [" + state.toStringUtf8() + "]");
return demo().build();
}
@Override
public JOutPiqi.response handle_user_join(String userId, ByteString state) {
System.out.println("user_join [" + userId + "]. state: [" + state.toStringUtf8() + "]");
return demo().build();
}
@Override
public JOutPiqi.response handle_user_leave(String userId, ByteString state) {
System.out.println("user_leave [" + userId + "]. state: [" + state.toStringUtf8() + "]");
return demo().build();
}
private JOutPiqi.response.Builder demo() {
return JOutPiqi.response.newBuilder().setResponse(
JOutPiqi.callback_response.newBuilder()
.setResult(JOutPiqi.result.newBuilder().setOk(true))
.setState(ByteString.copyFromUtf8("newstate"))
);
}
}