Beispiel #1
0
 private void OnMouseUp()
 {
     if (!MedicalAppManager.Instance().OnMeal)
     {
         //remettre l'ancien
         if (GameObject.Find("SliderModif") && MedicalAppManager.Instance().selectedAliment != null)
         {
             GameObject.Find("SliderModif").GetComponent <SliderModif>().CloseAndKeepOldValues();
         }
         // ajout aliment selectionne dans le manager
         MedicalAppManager.Instance().selectedAliment = gameObject;
         // zone de modification
         AtelierManager.Instance().showModification(true);
     }
     else
     {
         if (MealManager.Instance().MangerPortion != null)
         {
             // affichage manger portion
             MedicalAppManager.Instance().selectedAliment = gameObject;
             MealManager.Instance().updateInfos();
             MealManager.Instance().MangerPortion.SetActive(true);
         }
     }
 }
Beispiel #2
0
 public void loadQuestion()
 {
     perfect_meal.SetActive(false);
     MealManager.Instance().plateau.gameObject.SetActive(false);
     if (nextQuestion < list.questions.Count)
     {
         if (nextQuestion >= 1)
         {
             back.interactable = true;
         }
         else
         {
             back.interactable = false;
         }
         infos.text = MedicalAppManager.Instance().setUserDataInText(list.questions[nextQuestion].Text);
         smiley.gameObject.SetActive(false);
         SetChoices();
         ok.gameObject.SetActive(false);
     }
     else
     {
         //charger texte de fin
         infos.text = MealManager.Instance().EndGameMessage;
         loadMenu.SetActive(true);
         MealManager.Instance().AutoEvaluation.SetActive(false);
     }
 }
    public void EatPortion()
    {
        if (MealManager.Instance().totalPortions <= 30)
        {
            ////gérer animation
            MealManager.Instance().SetMouthAnimation(AnimationTime);

            ////enlever une portion à la selection courante
            MedicalAppManager.Instance().selectedAliment.GetComponent <PlateBlocAliment>().nbSlices -= 1;
            MedicalAppManager.Instance().selectedAliment.GetComponent <PlateBlocAliment>().SetAlimentQuantity();
            MedicalAppManager.Instance().selectedAliment.GetComponent <PlateBlocAliment>().SetAlimentsPositions();
            float temp = MedicalAppManager.Instance().selectedAliment.GetComponent <PlateBlocAliment>().al.portions / (float)MedicalAppManager.Instance().selectedAliment.GetComponent <PlateBlocAliment>().al.slices;

            MealManager.Instance().totalPortions += temp;
            MedicalAppManager.Instance().selectedAliment.GetComponent <PlateBlocAliment>().updateAliments();

            MealManager.Instance().AddEatenAliment();

            if ((MedicalAppManager.Instance().selectedAliment.GetComponent <PlateBlocAliment>().al.greasy ||
                 MedicalAppManager.Instance().selectedAliment.GetComponent <PlateBlocAliment>().al.sugary) &&
                MedicalAppManager.Instance().userOperation == Operation.by_pass)
            {
                MealManager.Instance().SetDumpingSyndrom(true);
                MealManager.Instance().EndMeal();
            }


            ////mettre à jour meal
            //if (!_MGR_MedicalApp.instance.repas.listAliments.Exists(u => u == _MGR_MedicalApp.instance.selectedAliment.GetComponent<BlocAliment>()))
            //    _MGR_MedicalApp.instance.repas.listAliments.Add(_MGR_MedicalApp.instance.selectedAliment.GetComponent<BlocAliment>());
            //_MGR_MedicalApp.instance.repas.totalPortions += 1;

            ////si il n'y a plus rien, passer au plat suivant
            if (MedicalAppManager.Instance().selectedAliment.GetComponent <PlateBlocAliment>().nbSlices == 0)
            {
                MealManager.Instance().MangerPortion.SetActive(false);
                DestroyImmediate(MedicalAppManager.Instance().selectedAliment);
            }
            MealManager.Instance().updateInfos();
        }
        else
        {
            MealManager.Instance().SetDumpingSyndrom(true);
            MealManager.Instance().DumpingToggle.SetActive(true);
            MealManager.Instance().EndMeal();
            MedicalAppManager.Instance().PortionsMax = true;
        }
    }
 // Update is called once per frame
 void Update()
 {
     if (isActive)
     {
         if (time > 0f)
         {
             img_timer.fillAmount = time / timeAmount;
             timeText.text        = (time * multiplier).ToString("F");
             time -= Time.deltaTime;
         }
         else
         {
             time                 = 0f;
             timeText.text        = 0.0.ToString("F");
             img_timer.fillAmount = 0;
             isActive             = false;
             MealManager.Instance().TimerUI.SetActive(false);
         }
     }
 }
Beispiel #5
0
 private void OnMouseUp()
 {
     // ajout aliment selectionne dans le manager
     MedicalAppManager.Instance().selectedAliment = gameObject;
     if (OnPlate)
     {
         // zone de modification
         AtelierManager.Instance().showModification(true);
     }
     else if (OnMeal)
     {
         if (MealManager.Instance().MangerPortion != null)
         {
             // affichage manger portion
             MealManager.Instance().MangerPortion.SetActive(true);
         }
     }
     else if (OnAtelier)
     {
         // zone de validation
         AtelierManager.Instance().showValidation(true);
         //Camera.main.GetComponent<MouseLook>().setCameraFree(false);
     }
 }
 public void CloseValidation()
 {
     MealManager.Instance().MangerPortion.SetActive(false);
     MedicalAppManager.Instance().selectedAliment = null;
     MealManager.Instance().updateInfos();
 }
Beispiel #7
0
    public void userChoice(int choice)
    {
        choice_save.Add(choice);
        back.interactable = true;
        ClearChoices();
        //réponse (list.questions[nextQuestion].Answer)
        //image (couleur smiley dépendante d'un switch et des données du repas)
        smiley.gameObject.SetActive(true);
        switch (nextQuestion)
        {
        case 0:
            int           result    = 2;
            List <string> mealtypes = MealManager.Instance().getMealTypes();
            if (mealtypes.Count < 3)
            {
                result -= 1;
            }
            if (!mealtypes.Contains("plat principal"))
            {
                result -= 1;
            }

            if (result == 0)
            {
                smiley.sprite = Resources.Load <Sprite>("UI/Image/SmileyRouge");
            }
            else if (result == 1)
            {
                smiley.sprite = Resources.Load <Sprite>("UI/Image/SmileyOrange");
            }
            else if (result == 2)
            {
                smiley.sprite = Resources.Load <Sprite>("UI/Image/SmileyVert");
            }

            Debug.Log(choice + " " + result);
            Debug.Log(list.questions[nextQuestion].Answers.Count);

            infos.text = MedicalAppManager.Instance().setUserDataInText(list.questions[nextQuestion].Answers[choice * 3 + result]);

            perfect_meal.SetActive(true);

            MealManager.Instance().plateau.gameObject.SetActive(true);
            MealManager.Instance().plateau.transform.localScale = Vector3.one * 2.7f;
            MealManager.Instance().plateau.transform.localPosition = new Vector3(0.0f, -0.28f, 1.0f);
            MealManager.Instance().plateau.Clear();
            MealManager.Instance().loadAllAlimentsFromList(MealManager.Instance().EatenAliments);
            MealManager.Instance().plateau.CanInteractWithAliments(false);



            break;

        case 1:
            //couleurs en fonction du nombre de plats ( < 4 --> rouge / =4 --> orange / >= 5 --> vert ==> si nombres portions incorrectes --> orange)
            int nbAliments = MealManager.Instance().EatenAliments.Count;
            if (nbAliments >= 5)
            {
                smiley.sprite = Resources.Load <Sprite>("UI/Image/SmileyVert");
                infos.text    = MedicalAppManager.Instance().setUserDataInText(list.questions[nextQuestion].Answers[choice * 3 + 2]);
            }
            else if (nbAliments == 4)
            {
                smiley.sprite = Resources.Load <Sprite>("UI/Image/SmileyOrange");
                infos.text    = MedicalAppManager.Instance().setUserDataInText(list.questions[nextQuestion].Answers[choice * 3 + 1]);
            }
            else
            {
                smiley.sprite = Resources.Load <Sprite>("UI/Image/SmileyRouge");
                infos.text    = MedicalAppManager.Instance().setUserDataInText(list.questions[nextQuestion].Answers[choice * 3 + 0]);
            }
            break;

        case 2:
            //couleurs en fonction du nombre de portions (rouge si < à 20 ou > à 40  orange si entre 20 et 25 et entre 35 et 40 vert  si entre 26 et 34)
            float nbPortions = MealManager.Instance().totalPortions;
            if (nbPortions >= 26 && nbPortions <= 34)
            {
                smiley.sprite = Resources.Load <Sprite>("UI/Image/SmileyVert");
                infos.text    = MedicalAppManager.Instance().setUserDataInText(list.questions[nextQuestion].Answers[choice * 5 + 2]);
            }
            else if (nbPortions >= 20 && nbPortions <= 40)
            {
                smiley.sprite = Resources.Load <Sprite>("UI/Image/SmileyOrange");
                if (nbPortions < 26)
                {
                    infos.text = MedicalAppManager.Instance().setUserDataInText(list.questions[nextQuestion].Answers[choice * 5 + 1]);
                }
                else
                {
                    infos.text = MedicalAppManager.Instance().setUserDataInText(list.questions[nextQuestion].Answers[choice * 5 + 3]);
                }
            }
            else
            {
                smiley.sprite = Resources.Load <Sprite>("UI/Image/SmileyRouge");
                if (nbPortions < 20)
                {
                    infos.text = MedicalAppManager.Instance().setUserDataInText(list.questions[nextQuestion].Answers[choice * 5 + 0]);
                }
                else
                {
                    infos.text = MedicalAppManager.Instance().setUserDataInText(list.questions[nextQuestion].Answers[choice * 5 + 4]);
                }
            }
            break;
        }
        //bouton "OK" (charge load next question)
        ok.gameObject.SetActive(true);
    }