Пример #1
0
 void Start()
 {
     Debug.Log("Game Start");
     placeObjects();
     bottomHeight         = 2 - (scale.y / 2);
     state                = dropState.WAITING;
     currentVerbIndex     = 0;
     verbSpawnPosition    = Vector3.zero;
     verbSpawnPosition.y  = (scale.y / 2) - 1;
     verbSpawnPosition.z -= 1;
 }
Пример #2
0
    IEnumerator showMessage(int group)
    {
        string message = currentVerb.GetComponent <Verb>().message;

        Destroy(Instantiate(goodEffect, currentVerb.transform.position, goodEffect.transform.rotation), 4f);
        Destroy(currentVerb, 4f);
        goodMessage.showMessage(message);
        yield return(new WaitForSeconds(messageTime));

        state = dropState.WAITING;
    }
Пример #3
0
 //Todo: Drop and switch the verbs
 void Update()
 {
     if (state == dropState.WAITING)
     {
         if (currentVerbIndex >= verbs.Length)
         {
             state = dropState.GAMEOVER;
         }
         else
         {
             Debug.Log("Dropping new verb!");
             StartCoroutine("drop");
         }
     }
 }
Пример #4
0
    IEnumerator drop()
    {
        Debug.Log("Verb drop start");
        state = dropState.DROPPING;
        //TODO: Spawn verb
        currentVerb = Instantiate(verbs[currentVerbIndex++].gameObject);
        Transform verbTransform = currentVerb.transform;

        verbTransform.position = verbSpawnPosition;
        while (verbTransform.position.y > bottomHeight)
        {
            verbTransform.Translate(0, -Time.deltaTime * dropSpeed, 0);
            yield return(null);
        }
        StartCoroutine("moveToSide");
    }
Пример #5
0
    IEnumerator moveToSide()
    {
        state = dropState.MOVINGTOSIDE;
        Transform verbTransform = currentVerb.transform;
        Vector3   selectedSide  = new Vector3();
        // Lazy side
        float movementRemaining = 2f;
        float rnd = currentVerb.GetComponent <Verb>().side;
        int   selectedGroup;

        if (rnd == 1)
        {
            //Left
            selectedGroup   = 1;
            selectedSide.x -= 2;
        }
        else if (rnd == 2)
        {
            //Right
            selectedSide.x += 2;
            selectedGroup   = 2;
        }
        else
        {
            //Bottom
            selectedGroup   = 3;
            selectedSide.y -= 0.1f;
        }

        while (movementRemaining > 0)
        {
            verbTransform.Translate(selectedSide * Time.deltaTime * dropSpeed);
            movementRemaining -= Time.deltaTime * dropSpeed;
            yield return(null);
        }
        state = dropState.MESSAGE;
        StartCoroutine("showMessage", selectedGroup);
    }