Example #1
0
    private void InitializeLangItems()
    {
        ArrayList allObjects = game.getObjects().Clone() as ArrayList;

        System.Random rnd = new System.Random();
        for (int i = 0; i < game.numberOfQuestions; i++)
        {
            int pos = rnd.Next(0, allObjects.Count);

            LangObject langObject = allObjects[pos] as LangObject;

            ArrayList langs = langObject.getLangs() as ArrayList;

            string randomLang    = langs[rnd.Next(0, langs.Count)] as string;
            string correctAnswer = langObject.getLang(randomLang)["text"] as string;

            correctAnswersHash.Add(langObject, correctAnswer);
            selectedLangs.Add(langObject, randomLang);

            ArrayList choices = GenerateChoices(langObject);
            langItems.Add(langObject, choices);

            allObjects.RemoveAt(pos);
        }
    }
Example #2
0
    private ArrayList GenerateChoices(LangObject o)
    {
        ArrayList allObjects = game.getObjects().Clone() as ArrayList;
        ArrayList langs      = o.getLangs() as ArrayList;

        ArrayList choices = new ArrayList();

        choices.Add(correctAnswersHash[o]);

        System.Random rnd = new System.Random();
        for (int i = 0; i < allObjects.Count; i++)
        {
            LangObject x = allObjects[i] as LangObject;
            if (x.getName() == o.getName())
            {
                allObjects.RemoveAt(i);
                break;
            }
        }

        for (int i = 0; i < game.numberOfChoices - 1; i++)
        {
            int pos = rnd.Next(0, allObjects.Count);

            LangObject langObject = allObjects[pos] as LangObject;

            string wrongAnswer = langObject.getLang((string)langs[rnd.Next(0, langs.Count)])["text"] as string;
            choices.Add(wrongAnswer);

            allObjects.RemoveAt(pos);
        }

        return(game.Shuffle(choices));
    }
Example #3
0
 private void ViewVariables(TreeNode node, LangObject obj)
 {
     if (obj.objectType == ObjectType.NUMBER)
     {
         node.Text = ((LangNumber)obj).numberValue.Value + "";
     }
     else if (obj.objectType == ObjectType.STRING)
     {
         node.Text = "\"" + ((LangString)obj).stringValue.Value + "\"";
     }
     else if (obj.objectType == ObjectType.MAP)
     {
         LangMap mp = ((LangMap)obj);
         node.Text = "map";
         SortedDictionary <Object, LangObject> sd = new SortedDictionary <object, LangObject>();
         foreach (DictionaryEntry dic in mp.arrayValue.Value)
         {
             sd.Add(dic.Key, (LangObject)dic.Value);
         }
         foreach (KeyValuePair <Object, LangObject> dic in sd)
         {
             TreeNode child = new TreeNode();
             ViewVariables(child, dic.Value);
             child.Text = "[" + dic.Key.ToString() + "]" + " : " + child.Text;
             node.Nodes.Add(child);
         }
     }
     else if (obj.objectType == ObjectType.CLASS)
     {
         LangClass objcls = (LangClass)obj;
         node.Text = objcls.name.Value;
         foreach (DictionaryEntry it in objcls.vars.Value)
         {
             bool cont = false;
             foreach (string mod in ((ArrayList)objcls.permissions.Value[it.Key]))
             {
                 if (mod == "private")
                 {
                     cont = true;
                     break;
                 }
             }
             if (cont)
             {
                 continue;
             }
             LangObject obj2   = ((LangObject)it.Value);
             TreeNode   child  = new TreeNode((string)it.Key);
             TreeNode   child2 = new TreeNode();
             ViewVariables(child2, obj2);
             child.Nodes.Add(child2);
             node.Nodes.Add(child);
         }
     }
 }
Example #4
0
	void Start ()
	{
        if (objects.Count == 0)
        {
            TextAsset txtAsset = Resources.Load("items") as TextAsset;
            string jsonString = txtAsset.text;

            JsonData jsonData = JsonMapper.ToObject(jsonString);

            foreach (DictionaryEntry item in jsonData)
            {
                string key = item.Key as string;
                JsonData itemJson = item.Value as JsonData;

                string model = itemJson["model"].ToString() as string;

                LangObject langObject = new LangObject(key, model);

                foreach (DictionaryEntry langItem in itemJson)
                {
                    string lang = langItem.Key as string;

                    if (lang != "model")
                    {
                        string text = itemJson[lang]["text"].ToString();
                        string audio = itemJson[lang]["audio"].ToString();
                        langObject.addLang(lang, text, audio);
                    }
                }

                objects.Add(langObject);
            }

            objects = Shuffle(objects);
        }

        gameFinishedCanvas = GameObject.Find("GameFinishedCanvas");
		playAudioClipButton = GameObject.Find("PlayAudioClip");
		
		correctAnswerAudioClip = Resources.Load("Audios/Game/correct_answer") as AudioClip;
		wrongAnswerAudioClip = Resources.Load("Audios/Game/wrong_answer") as AudioClip;
		levelCompletedAudioClip = Resources.Load("Audios/Game/level_completed") as AudioClip;

		playAudioClipButton.SetActive (false);
        HideGameFinishedCanvas();
    }
Example #5
0
    public void NextQuestion()
    {
        ResetSceneElements();

        System.Random rnd = new System.Random();
        int           pos = rnd.Next(0, langItemKeys.Count);

        LangObject langObject = langItemKeys[pos] as LangObject;

        game.setCurrentLangObject(langObject);

        GameObject gameObject = game.InitializeObject();

        game.setCurrentGameObject(gameObject);

        game.LoadAudio(gameObject, langObject, (string)selectedLangs[langObject]);
        game.PlayAudio(gameObject);

        game.InitializeChoicesText((ArrayList)langItems[langObject]);

        langItemKeys.RemoveAt(pos);
    }
Example #6
0
    private ArrayList GenerateChoices(LangObject o)
    {
        ArrayList allObjects = game.getObjects().Clone() as ArrayList;
        ArrayList langs = o.getLangs() as ArrayList;

        ArrayList choices = new ArrayList();

        choices.Add(correctAnswersHash[o]);

        System.Random rnd = new System.Random();
        for (int i = 0; i < allObjects.Count; i++)
        {
            LangObject x = allObjects[i] as LangObject;
            if (x.getName() == o.getName())
            {
                allObjects.RemoveAt(i);
                break;
            }
        }

        for (int i = 0; i < game.numberOfChoices - 1; i++)
        {
            int pos = rnd.Next(0, allObjects.Count);

            LangObject langObject = allObjects[pos] as LangObject;

            string wrongAnswer = langObject.getLang((string)langs[rnd.Next(0, langs.Count)])["text"] as string;
            choices.Add(wrongAnswer);

            allObjects.RemoveAt(pos);
        }

        return game.Shuffle(choices);
    }
Example #7
0
 private bool CheckAnswer(LangObject langObject, string answer)
 {
     return (string)correctAnswersHash[langObject] == answer;
 }
Example #8
0
    public bool CheckAnswer(LangObject langObject, string answer)
    {
        string correctAnswer = langObject.getLang(selectedLang)["text"].ToString();

        return answer == correctAnswer;
    }
Example #9
0
 private bool CheckAnswer(LangObject langObject, string answer)
 {
     return((string)correctAnswersHash[langObject] == answer);
 }
Example #10
0
 public void LoadAudio(GameObject gameObject, LangObject langObject, string lang)
 {
     string audioPath = "Audios/" + langObject.getLang(lang)["audio"].ToString();
     AudioSource audioSource = gameObject.GetComponent<AudioSource>();
     audioSource.clip = Resources.Load(audioPath) as AudioClip;
 }
Example #11
0
 public void setCurrentLangObject(LangObject langObject)
 {
     currentLangObject = langObject;
 }