예제 #1
0
        private void timelineView_ItemClick(object sender, ItemClickEventArgs e)
        {
            AnswerObject answerObj = (AnswerObject)e.ClickedItem;

            debugTextBlock.Text = "Should be switching pages to answer";
            Frame.Navigate(typeof(AnswerDetailPage), answerObj);
        }
예제 #2
0
        /// <summary>
        /// Gets the answer.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns></returns>
        public ActionResult getAnswer(int id)
        {
            Array data   = null;
            var   answer = new AnswerObject();
            var   url    = string.Empty;

            try
            {
                if (id != 0)
                {
                    answer = _exam.GetAnswer(string.Format("questions/{0}/answers?page=1&pagesize=50&order=desc&sort=creation&site=stackoverflow&filter=!b0OfNR*gZdUEwX", id));
                    data   = answer.items.ToArray();
                }
                responseStatus = "OK";
            }
            catch (Exception ex)
            {
                if (String.IsNullOrEmpty(ex.Message))
                {
                    responseStatus = "ERROR";
                }
                responseText = ex.Message;
            }
            return(Json(new
            {
                status = responseStatus,
                message = responseText,
                data
            }));
        }
예제 #3
0
 //These are the choices
 void SetupSolutionObject(AnswerObject solution, Vector3 startPos)
 {
     solution.SetMovable(true);
     solution.SetTextMesh();
     solution.isAnswer         = true;
     solution.problemGenerator = this;
     solution.startPos         = startPos;
     solution.transform.SetParent(stuffHolder);
 }
예제 #4
0
 //rearrange solutions using fisher yates card shuffler
 void ShuffleSolutions()
 {
     System.Random random = new System.Random();
     for (int i = 0; i < possibleSolutionList.Count; i++)
     {
         int          r          = i + (int)(random.NextDouble() * (possibleSolutionList.Count - i));
         AnswerObject randAnswer = possibleSolutionList[r];
         possibleSolutionList[r] = possibleSolutionList[i];
         possibleSolutionList[i] = randAnswer;
     }
 }
예제 #5
0
 //This is for the answer that the choices go to
 void SetupAnswerObject(AnswerObject answer)
 {
     answer.SetSprite();
     answer.GetComponent <Collider>().isTrigger = true;
     //answer.GetComponent<Rigidbody>().bodyType = RigidbodyType2D.Dynamic;
     answer.tag = answerTag;
     answer.gameObject.layer = 0;
     answer.problemGenerator = this;
     answer.isMovable        = false;
     answer.transform.SetParent(stuffHolder);
 }
예제 #6
0
 void SetVisual(AnswerObject solution)
 {
     if (showImage)
     {
         solution.SetSprite();
     }
     else
     {
         solution.SetTextMesh();
     }
 }
예제 #7
0
 //rearrange solutions using fisher yates card shuffler
 void ShuffleSolutions(List <AnswerObject> list)
 {
     System.Random random = new System.Random();
     for (int i = 0; i < list.Count; i++)
     {
         int          r          = i + (int)(random.NextDouble() * (list.Count - i));
         AnswerObject randAnswer = list[r];
         list[r] = list[i];
         list[i] = randAnswer;
     }
 }
예제 #8
0
    private void selectAnswer(AnswerObject answerInfo)
    {
        switch (answerInfo.type)
        {
        case (int)Dialogue.AnswerType.Next:
            setDialogue(answerInfo.next);
            break;
        }

        answerButtonGroupClear();
    }
예제 #9
0
 private void OnTriggerExit(Collider collision)
 {
     //check if other is also answer object only
     if (collision.gameObject.GetComponent <AnswerObject>())
     {
         currentLink = null;
     }
     else if (collision.gameObject.GetComponent <Hangi>())
     {
         hangi = null;
     }
 }
예제 #10
0
    /*
     * private void OnCollisionEnter(Collision collision)
     * {
     *  //check if other is also answer object only
     *  if (collision.gameObject.GetComponent<AnswerObject>())
     *  {
     *      currentLink = collision.gameObject.GetComponent<AnswerObject>();
     *      Debug.Log("Bruh");
     *  }
     * }
     *
     * private void OnCollisionExit(Collision collision)
     * {
     *  //check if other is also answer object only
     *  if (collision.gameObject.GetComponent<AnswerObject>())
     *  {
     *      currentLink = null;
     *  }
     * }
     */

    private void OnTriggerEnter(Collider collision)
    {
        //check if other is also answer object only
        if (collision.gameObject.GetComponent <AnswerObject>())
        {
            currentLink = collision.gameObject.GetComponent <AnswerObject>();
            //Debug.Log("Bruh");
        }
        else if (collision.gameObject.GetComponent <Hangi>())
        {
            hangi = collision.gameObject.GetComponent <Hangi>();
        }
    }
예제 #11
0
    void PresentProblemToPlayer()
    {
        for (int i = 0; i < possibleSolutionList.Count; i++)
        {
            GameObject solution = Instantiate(possibleSolutionList[i].gameObject, solutionSpawnPoints[i].position, Quaternion.identity);
            SetupSolutionObject(solution.GetComponent <AnswerObject>(), solutionSpawnPoints[i].position);
        }
        GameObject answerObj = Instantiate(answer.gameObject, answerSpawnPoint.position, Quaternion.identity);

        //reassign answer just in case
        answer = answerObj.GetComponent <AnswerObject>();
        SetupAnswerObject(answerObj.GetComponent <AnswerObject>());
        //answerObj.GetComponent<AnswerObject>().isMovable = false;
    }
예제 #12
0
    public void removeAnswer()
    {
        Destroy(this.gameObject);

        if (gridObject.transform.childCount == maxAnswers && this.gameObject.name == gridObject.transform.GetChild(gridObject.transform.childCount - 1).name)
        {
            AnswerObject lastAnswer = gridObject.transform.GetChild(gridObject.transform.childCount - 2).gameObject.GetComponent <AnswerObject>();
            lastAnswer.activateAddAnswer();
        }
        else
        {
            AnswerObject lastAnswer = gridObject.transform.GetChild(gridObject.transform.childCount - 1).gameObject.GetComponent <AnswerObject>();
            lastAnswer.activateAddAnswer();
        }
    }
예제 #13
0
    public void CollectItem(AnswerObject item)
    {
        switch (phase)
        {
        case Phase.StackWood:
            wood.itemGiven = item;
            creator.ClearProblem();
            AddStonePrompt();
            break;

        case Phase.AddStone:
            stone.itemGiven = item;
            creator.ClearProblem();
            LightFirePrompt();
            break;

        case Phase.LightFire:
            fire.itemGiven = item;
            creator.ClearProblem();
            PlaceFoodPrompt();
            break;

        case Phase.PlaceFood:
            foodContents[currentFoodItem].itemGiven = item;
            currentFoodItem++;
            if (currentFoodItem >= foodContents.Length)
            {
                creator.ClearProblem();
                PlaceCoverPrompt();
            }
            else
            {
                creator.ClearProblem();
                PlaceFoodPrompt();
            }
            break;

        case Phase.PlaceCover:
            cover.itemGiven = item;
            creator.ClearProblem();
            FinishRound();
            break;

        default:
            break;
        }
    }
        private async void Page_ChoixClientTypeForm_Load(object sender, EventArgs e)
        {
            form1 = new Formulaire1();
            form2 = new Formulaire2();

            AnswerObject reponses = await typeFormApi.getAnswers(Identifiants.Token, Identifiants.IDFormulaire1);

            form1.json_answers = reponses;

            reponses = await typeFormApi.getAnswers(Identifiants.Token, Identifiants.IDFormulaire2);

            form2.json_answers = reponses;

            foreach (InfoEntreprise infoEntreprise in form1.getInfoEntreprises())
            {
                cbChoixClientTypeForm.Items.Add(infoEntreprise.nomEntreprise);
            }
        }
예제 #15
0
        //TODO: Add GetSmilesOfAnswer

        public async static Task <AnswersObject> GetAnswersObject(string path)
        {
            dynamic dynAnswersobj = await GetResultFromURL(path);

            AnswersObject answersObj = new AnswersObject();

            answersObj.Count = dynAnswersobj.count;

            ObservableCollection <AnswerObject> answers = new ObservableCollection <AnswerObject>();

            foreach (var answer in dynAnswersobj.answers)
            {
                answers.Add(AnswerObject.fromDynamic(answer));
            }

            answersObj.Answers = answers;

            return(answersObj);
        }
예제 #16
0
        public void AddAnswerToAff(int idCollaborator, int idEvaluationTest, int idQuestion, int idResponse)
        {
            AnswerObject answer = new AnswerObject();

            answer.idCollaborator   = idCollaborator;
            answer.idEvaluationTest = idEvaluationTest;
            answer.idQuestion       = idQuestion;
            answer.idResponse       = idResponse;

            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri("http://localhost:8080/PiProject-web/");

            var res  = client.PostAsJsonAsync <AnswerObject>("api/answer/AddAnswer", answer).ContinueWith((posttrack) => posttrack.Result.EnsureSuccessStatusCode()).Result;
            var resy = res.Content;

            //set the test answered state to true whenever it's answered
            SetEvaluationAffectationStateToAnswered(idCollaborator, idEvaluationTest);
        }
예제 #17
0
        public void addAnswer(int idCollaborator, int idEvaluationTest, int idQuestion, int idResponse)
        {
            AnswerObject answer = new AnswerObject();

            answer.idCollaborator   = idCollaborator;
            answer.idEvaluationTest = idEvaluationTest;
            answer.idQuestion       = idQuestion;
            answer.idResponse       = idResponse;


            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri("http://localhost:8080/PiProject-web/");
            //client.PostAsJsonAsync("api/answer/15/13",answeraff);

            //client.PostAsJsonAsync<t_answertestaffectation>("api/answer/15/13", answeraff).ContinueWith((posttrack) => posttrack.Result.EnsureSuccessStatusCode());
            var res = client.PostAsJsonAsync <AnswerObject>("api/answer/", answer).ContinueWith((posttrack) => posttrack.Result.EnsureSuccessStatusCode()).Result;

            /*Task<TestWrapper> t = res.Content.ReadAsAsync<TestWrapper>();
             * TestWrapper var = t.Result;*/
        }
예제 #18
0
    public void addAnswer()
    {
        if (gridObject.transform.childCount < maxAnswers - 1)
        {
            GameObject tmp_answerObj = GameObject.Instantiate(answerObjPrefab, gridObject.transform);
            tmp_answerObj.transform.GetChild(0).GetComponent <TMP_InputField>().text = "";

            removeAnswerObj.SetActive(true);
            addAnswerObj.SetActive(false);
        }
        else if (gridObject.transform.childCount == maxAnswers - 1)
        {
            removeAnswerObj.SetActive(true);
            addAnswerObj.SetActive(false);

            GameObject tmp_answerObj = GameObject.Instantiate(answerObjPrefab, gridObject.transform);
            tmp_answerObj.transform.GetChild(0).GetComponent <TMP_InputField>().text = "";

            AnswerObject tmp_answerManager = tmp_answerObj.GetComponent <AnswerObject>();
            tmp_answerManager.addAnswerObj.SetActive(false);
        }
    }
예제 #19
0
    //generate problem and answer
    public void GenerateProblem()
    {
        //get random answer
        int rand = Random.Range(0, answerList.Count - 1);

        //set answer and add answer to possible solution list
        answer = answerList[rand];
        possibleSolutionList.Add(answerList[rand]);
        //fill in other possible solutions with other things
        int solutionsProvided = 1;

        while (solutionsProvided < numPossibleSolutions)
        {
            rand = Random.Range(0, 2);
            List <AnswerObject> listRef;
            if (rand == 0)
            {
                listRef = answerList;
            }
            else
            {
                listRef = wrongAnswerList;
            }
            //get random in possible solutions, and then check if already existing
            rand = Random.Range(0, listRef.Count - 1);
            if (!possibleSolutionList.Contains(listRef[rand]))
            {
                possibleSolutionList.Add(listRef[rand]);
                solutionsProvided++;
            }
        }
        //shuffle possible solutions
        ShuffleSolutions();
        //present to player
        PresentProblemToPlayer();
    }
예제 #20
0
        public async static Task <AnswerObject> GetAnswer(int ansId)
        {
            dynamic dynAnsObj = await GetResultFromURL(ANSWER_PATH + ansId + ".json");

            return(AnswerObject.fromDynamic(dynAnsObj));
        }
예제 #21
0
        public void SignalingHandler(WebSocket webSocket, byte[] Incbuffer,
                                     WebSocketReceiveResult result)
        {
            var buffer     = Incbuffer.Where(x => x != 0).ToArray();
            var strCommand = Encoding.ASCII.GetString(buffer).Replace(@"\0", string.Empty);
            var objBuffer  = new Tuple <byte[], int>(null, 0);

            try
            {
                dynamic objSocket = new ExpandoObject();
                objSocket.connection = webSocket;
                objSocket.name       = string.Empty;
                objSocket.otherName  = string.Empty;

                BaseObject      incType       = null;
                CandidateObject CandidateType = null;


                try
                {
                    //Todo : You Can Do This Part Better That This
                    //Fix Commands With Leave Handeling v1
                    strCommand = StringHelper.FixCommand(strCommand);
                    incType    = SerializationHelper.Deserialize <BaseObject>(strCommand);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }

                if (incType.type == ClsEnumeration.EnumCommandType.login.ToString())
                {
                    var loginObj = new LoginResult()
                    {
                        type = "login", success = "true"
                    };
                    var incData = SerializationHelper.Deserialize <LoginObject>(strCommand);
                    try
                    {
                        if (ClsStatics.UsersStatic.ContainsKey(incData.name))
                        {
                            ClsStatics.UsersStatic.Remove(incData.name);
                            objSocket.name = incData.name;
                            ClsStatics.UsersStatic.Add(incData.name, objSocket);

                            objBuffer = ObjectHelper.GetObjectBuffer(loginObj);
                            objSocket.connection.SendAsync(
                                new ArraySegment <byte>(objBuffer.Item1, 0, objBuffer.Item2), result.MessageType,
                                result.EndOfMessage, CancellationToken.None);

                            Console.WriteLine($"Send Success Login For User {incData.name}");
                        }
                        else
                        {
                            loginObj.success = "false";
                            objSocket.name   = incData.name;
                            ClsStatics.UsersStatic.Add(incData.name, objSocket);
                            objBuffer = ObjectHelper.GetObjectBuffer(loginObj);
                            objSocket.connection.SendAsync(
                                new ArraySegment <byte>(objBuffer.Item1, 0, objBuffer.Item2), result.MessageType,
                                result.EndOfMessage, CancellationToken.None);
                            Console.WriteLine($"Send Success Login For User {incData.name}");
                        }
                    }
                    catch (Exception e)
                    {
                        objBuffer = ObjectHelper.GetObjectBuffer(loginObj);
                        objSocket.connection.SendAsync(
                            new ArraySegment <byte>(objBuffer.Item1, 0, objBuffer.Item2), result.MessageType,
                            result.EndOfMessage, CancellationToken.None);
                        Console.WriteLine($"Send Failed Login For User {incData.name}");
                    }
                }
                if (incType.type == ClsEnumeration.EnumCommandType.offer.ToString())
                {
                    var incData = SerializationHelper.Deserialize <OfferObject>(strCommand);
                    //for ex. UserA wants to call UserB
                    //if UserB exists then send him offer details
                    dynamic Dyncon = ClsStatics.UsersStatic[incData.name];
                    if (Dyncon != null)
                    {
                        var offResObj = new OfferResult()
                        {
                            type = "offer", offer = incData.offer, name = incData.Owner
                        };
                        Dyncon.otherName = incData.name;
                        objBuffer        = ObjectHelper.GetObjectBuffer(offResObj);
                        Dyncon.connection.SendAsync(new ArraySegment <byte>(objBuffer.Item1, 0, objBuffer.Item2),
                                                    result.MessageType, result.EndOfMessage, CancellationToken.None);
                        Console.WriteLine($"Sending offer from : {incData.Owner} to: {incData.name}");
                    }
                }
                if (incType.type == ClsEnumeration.EnumCommandType.candidate.ToString())
                {
                    lock (ClsStatics.MessageLockCandidate)
                    {
                        var     incData = SerializationHelper.Deserialize <CandidateObject>(strCommand);
                        dynamic Dyncon  = ClsStatics.UsersStatic[incData.name];
                        if (Dyncon != null)
                        {
                            var candidateResObj = new CandidateResult()
                            {
                                type = "candidate", candidate = incData.candidate
                            };
                            objBuffer = ObjectHelper.GetObjectBuffer(candidateResObj);
                            Dyncon.connection.SendAsync(new ArraySegment <byte>(objBuffer.Item1, 0, objBuffer.Item2),
                                                        result.MessageType, result.EndOfMessage, CancellationToken.None);
                            Console.WriteLine("Sending candidate to:", incData.name);
                        }
                    }
                }
                if (incType.type == ClsEnumeration.EnumCommandType.answer.ToString())
                {
                    var     incData = SerializationHelper.Deserialize <AnswerObject>(strCommand);
                    dynamic Dyncon  = ClsStatics.UsersStatic[incData.name];
                    Console.WriteLine($"Sending answer to: {incData.name}");
                    //for ex. UserB answers UserA
                    if (Dyncon != null)
                    {
                        var answerObj = new AnswerObject()
                        {
                            type = "answer", answer = incData.answer
                        };
                        objBuffer = ObjectHelper.GetObjectBuffer(answerObj);
                        Dyncon.connection.SendAsync(
                            new ArraySegment <byte>(objBuffer.Item1, 0, objBuffer.Item2), result.MessageType,
                            result.EndOfMessage, CancellationToken.None);
                    }
                }
                else if (incType.type == ClsEnumeration.EnumCommandType.leave.ToString())
                {
                    lock (ClsStatics.MessageLockCandidate)
                    {
                        var     incData = SerializationHelper.Deserialize <LoginObject>(strCommand);
                        dynamic Dyncon  = ClsStatics.UsersStatic[incData.name];
                        Dyncon.otherName = null;
                        Console.WriteLine(string.Format("Sending answer to: {0}", incData.name));
                        //for ex. UserB answers UserA

                        if (Dyncon != null)
                        {
                            var leaveObj = new BaseObject()
                            {
                                type = "leave"
                            };
                            objBuffer = ObjectHelper.GetObjectBuffer(leaveObj);
                            Dyncon.connection.SendAsync(
                                new ArraySegment <byte>(objBuffer.Item1, 0, objBuffer.Item2), result.MessageType,
                                result.EndOfMessage, CancellationToken.None);
                            ClsStatics.UsersStatic.Remove(incData.name);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            //await webSocket.SendAsync(new ArraySegment<byte>(buffer, 0, result.Count), result.MessageType, result.EndOfMessage, CancellationToken.None);
        }