예제 #1
0
    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;
        }
    }
예제 #2
0
    // ---------------------- For communicating with game controller ------------------------------ //

    public void AskConnection(string userName, string password)
    {
        this.userName = userName;
        this.password = password;
        state         = TimeLineClientLi.AskConnection;
        LogState();
    }
예제 #3
0
    // Use this for initialization
    void Start()
    {
        state    = TimeLineClientLi.WaitingUserIdentification;
        occupied = false;
        request  = new Dictionary <string, string> ();

        url = gameController.GetUrl();
        timeBeforeRetryingDemand = gameController.GetTimeBeforeRetryingDemand();
    }
예제 #4
0
    // --------------------- 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.");
        }
    }
예제 #5
0
 public void WaitingCommand()
 {
     state = TimeLineClientLi.WaitingCommand;
     LogState();
 }