void ManageState() { switch (state) { case TimeLineClientLi.WaitingUserIdentification: break; case TimeLineClientLi.AskConnection: request.Clear(); request [KeyLi.demand] = DemandLi.connect; request [KeyLi.username] = userName; request [KeyLi.password] = password; StartCoroutine(AskServer(request)); state = TimeLineClientLi.AskConnectionWaitReply; LogState(); break; case TimeLineClientLi.AskConnectionWaitReply: if (HasResponse()) { HandleServerResponse(); } break; case TimeLineClientLi.GotConnection: case TimeLineClientLi.ErrorIdentification: break; } }
// ---------------------- For communicating with game controller ------------------------------ // public void AskConnection(string userName, string password) { this.userName = userName; this.password = password; state = TimeLineClientLi.AskConnection; LogState(); }
// Use this for initialization void Start() { state = TimeLineClientLi.WaitingUserIdentification; occupied = false; request = new Dictionary <string, string> (); url = gameController.GetUrl(); timeBeforeRetryingDemand = gameController.GetTimeBeforeRetryingDemand(); }
// --------------------- For treating response ------------------------------------------------------- // // Connection void ReplyConnected(string[] args) { if (state == TimeLineClientLi.AskConnectionWaitReply) { int connected = int.Parse(args [0]); if (connected == 1) { state = TimeLineClientLi.GotConnection; } else { state = TimeLineClientLi.ErrorIdentification; } LogState(); } else { Debug.Log("ClientLi: Time problem or state problem. Maybe I already received a response."); } }
public void WaitingCommand() { state = TimeLineClientLi.WaitingCommand; LogState(); }