public void submitAnswer()
    {
        if (SelectedAnswer == null)
        {
            submit.interactable = false;
            return;
        }

        if (!monster)
        {
            monster = FindObjectOfType <TutorialMonster>();
        }



        if (SelectedAnswer.getAnswer() == enemyAnswerNeeded)
        {
            monster.MonsterHurt();
        }
        else
        {
            monster.EnemyAttack();
        }

        submit.interactable = false;
        SelectedAnswer.GetComponent <Image>().color = Color.white;
        SelectedAnswer = null;
    }
示例#2
0
    // Use this for initialization
    void Start()
    {
        // Build the wall!
        mazeScale    = wallBlockPrefab.transform.lossyScale.x;
        mazeOffset   = new Vector3(-MazeArray.GetLength(0) * mazeScale / 2, -MazeArray.GetLength(1) * mazeScale / 2, 9.5f);
        startIndex   = new Vector3(0, 1, 0);
        indexTracker = 0;
        TutorialMonster tutorialMonsterScript = tutorialMonster.GetComponent(typeof(TutorialMonster)) as TutorialMonster;
        bool            useTutMon             = false;

        for (int i = 0; i < MazeArray.GetLength(0); i++)
        {
            for (int j = 0; j < MazeArray.GetLength(1); j++)
            {
                switch (MazeArray[i, j])
                {
                case '0':
                    Vector3 wallPos = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset;
                    Instantiate(wallBlockPrefab, wallPos, Quaternion.identity);
                    break;

                case 'S':
                    startIndex = new Vector3(i, j, 0);
                    //Vector3 colliderPos = new Vector3(1 * mazeScale, j * mazeScale, 0) + mazeOffset;
                    //GameObject trigger = Instantiate(colliderPrefab, colliderPos, Quaternion.identity);
                    //trigger.GetComponent<DialogueTrigger>().dialogueIndex = indexTracker;
                    //indexTracker++;
                    break;

                case 'E':
                    Vector3 goalPos = new Vector3(i * mazeScale, j * mazeScale, 0.15f) + mazeOffset;
                    goal.transform.position = goalPos;
                    break;

                case 'T':
                    Vector3    colliderP = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset;
                    GameObject trig      = Instantiate(colliderPrefab, colliderP, Quaternion.identity);
                    trig.GetComponent <DialogueTrigger>().dialogueIndex = indexTracker;
                    indexTracker++;
                    break;

                case 'B':
                    Vector3       batteryPos    = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset;
                    GameObject    newBattery    = Instantiate(batteryPrefab, batteryPos, Quaternion.identity);
                    BatteryScript batteryScript = newBattery.GetComponent(typeof(BatteryScript)) as BatteryScript;
                    batteryScript.playerWithFlashlight = player.transform.parent.gameObject;
                    break;

                case '*':
                    Vector3 tutorialPos = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset;
                    // Tell the monster to seek here and shift the lamp to this position;
                    tutorialMonsterScript.positionToSeek = tutorialPos;
                    tutorialPos.y += 1.5f;
                    tutorialPos.x += 0.2f;
                    tutorialLamp.transform.position = tutorialPos;
                    break;

                case '!':
                    Vector3 tutMonsterSpawn = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset;
                    tutorialMonster.transform.position   = tutMonsterSpawn;
                    tutorialMonsterScript.positionToFlee = tutMonsterSpawn;
                    useTutMon = true;
                    Debug.Log("Tut mons start: " + tutMonsterSpawn);
                    break;

                case 'M':
                    Vector3 monsterSpawnTriggerLoc = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset;
                    monsterSpawnTrigger.transform.position = monsterSpawnTriggerLoc;
                    break;
                }
                //if (MazeArray[i, j] == '0')
                //{
                //    Vector3 wallPos = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset;
                //    Instantiate(wallBlockPrefab, wallPos, Quaternion.identity);
                //}
            }
        }
        transform.position = (startIndex + mazeOffset);
        player.transform.Rotate(new Vector3(0, 0, -90f));

        // Call this last
        if (useTutMon)
        {
            tutorialMonsterScript.SetCameraStartPosition();
        }
    }