コード例 #1
0
ファイル: Server.cs プロジェクト: polycular/oekogotschi
        private IEnumerator checkout(Action<CheckoutResponse> callback)
        {
            Request r = new Request("game/checkout");

            WWW w = runRequest(r);
            yield return w; // wait for response

            CheckoutResponse res = new CheckoutResponse(processWWWResult(w));
            if (!res.Ready)
            {
                res.ErrorId = ErrorId;
                res.ErrorText = ErrorText;
            }
            else CurrentCheckin = null;

            callback(res);
        }
コード例 #2
0
ファイル: Server.cs プロジェクト: polycular/oekogotschi
        private IEnumerator score(int value, Action<ScoreResponse> callback)
        {
            Request r = new Request("game/score");
            r.AddString("score", value.ToString());

            WWW w = runRequest(r);
            yield return w; // wait for response

            ScoreResponse res = new ScoreResponse(processWWWResult(w));
            if (!res.Ready)
            {
                res.ErrorId = ErrorId;
                res.ErrorText = ErrorText;
            }
            else CurrentCheckin = null;

            callback(res);
        }
コード例 #3
0
ファイル: Server.cs プロジェクト: polycular/oekogotschi
        private WWW runRequest(Request data)
        {
            Loading = true;
            string path = data.Path;

            WWWForm form = new WWWForm();
            form.AddField("json", data.ToJSONString()); //TODO: encryption
            if (Connected) form.AddField("s", SessionId);

            return new WWW(ApiURL + Path.Combine(ApiURL, path), form);
        }
コード例 #4
0
ファイル: Server.cs プロジェクト: polycular/oekogotschi
        private IEnumerator logout(Action<User> callback)
        {
            Request r = new Request("logout");

            WWW w = runRequest(r);
            yield return w; // wait for response

            if (w.error == null)
            {
                JSONNode n = decode(w.text);

                user.Validated = !n["success"].AsBool;
                if (!user.Validated) SessionId = "";
            }
            else Debug.LogError("Server error");

            Loading = false;
            callback(user);
        }
コード例 #5
0
ファイル: Server.cs プロジェクト: polycular/oekogotschi
        private IEnumerator login(Action<User> callback)
        {
            Request r = new Request("login");
            r.AddString("name", user.Name);
            r.AddString("device", user.DeviceId);

            WWW w = runRequest(r);
            yield return w; // wait for response

            processWWWResult(w, true);
            callback(user);
        }
コード例 #6
0
ファイル: Server.cs プロジェクト: polycular/oekogotschi
        private IEnumerator register(Action<User> callback)
        {
            Request r = new Request("register");
            r.AddString("code", user.GroupCode);
            r.AddString("name", user.Name);
            r.AddString("char", user.Character);
            r.AddString("email", user.Email);
            r.AddString("password", user.Password);
            r.AddString("device", user.DeviceId);

            WWW w = runRequest(r);
            yield return w; // wait for response

            processWWWResult(w, true); // autologin after register
            callback(user);
        }
コード例 #7
0
ファイル: Server.cs プロジェクト: polycular/oekogotschi
        private IEnumerator checkin(string markerKey, string markerValue, Action<CheckinResponse> callback)
        {
            Request r = new Request("game/checkin");
            r.AddString("marker", markerKey);
            r.AddString("value", markerValue);

            WWW w = runRequest(r);
            yield return w; // wait for response

            CheckinResponse res = new CheckinResponse(processWWWResult(w));
            if (!res.Ready)
            {
                res.ErrorId = ErrorId;
                res.ErrorText = ErrorText;
            }
            else CurrentCheckin = res;

            callback(res);
        }