예제 #1
0
    // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        Collider2D c      = firstPlayer.collisionData;
        string     Answer = firstPlayer.Answer;
        int        Number = firstPlayer.Number;

        alphabetQueueHandler.UpdateQueue(c.gameObject.GetComponent <Enemy>().alphabet);
        string arrayQueue = alphabetQueueHandler.GetQueueString();

        c.gameObject.GetComponent <Spaceship>().Explosion();
        Destroy(c.gameObject);

        if (arrayQueue != Answer)
        {
            if (c.gameObject.GetComponent <Enemy> ().alphabet != "DOOR")
            {
                HitPoint.decrease_hp();
            }
        }
        else
        {
            Number = CharacterCount.decrease_cnt();
        }

        if (arrayQueue == Answer)
        {
            firstPlayer.AnswerNumber++;

            if (Number < 2)
            {
                DoorRefference.SetActive();
            }
        }
        animator.SetTrigger("EnemyCollisionFinished");
    }
예제 #2
0
    public void OnTriggerEnter2D(Collider2D c)
    {
        string layerName = LayerMask.LayerToName(c.gameObject.layer);

        if (layerName == "Enemy")
        {
            queue.Enqueue(c.gameObject.GetComponent <Enemy>().alphabet);
            string arrayQueue = string.Concat(queue.ToArray());
            Debug.Log("arrayQueue:" + arrayQueue);
            spaceship.Explosion();
            Destroy(c.gameObject);
            if (arrayQueue != answer)
            {
                hp.decrease_hp();
            }
            if (queue.Count < answer.Length)
            {
                return;
            }
            QueueFull(c, arrayQueue);
        }
    }