Example #1
0
    // Update is called once per frame
    void Update()
    {
        bool correctAnswer = false;

        if (memSpace1.occupied && memSpace2.occupied && !ResultMemSpace.occupied && !ResultMemSpace.locked)
        {
            if (memSpace1.block.GetComponent <Block>().value <= maxBlockSize && memSpace2.block.GetComponent <Block>().value <= maxBlockSize)
            {
                int result = memSpace1.UnOccupySpace() + memSpace2.UnOccupySpace();
                ResultMemSpace.OccupySpace(result);
                Instantiate(poofParticles, new Vector3(1.5f, 1.5f, -1.5f), Quaternion.identity);
            }
        }

        if (ResultMemSpace.occupied && ResultMemSpace.block.GetComponent <Block>().value == answer)
        {
            correctAnswer = true;
            gameManager.RegisterScore();
            GenerateNewAnswer();
            ResultMemSpace.UnOccupySpace();
            GetComponent <AudioSource>().Play();
            // play poof animation
        }
        animator.SetBool("correctAnswer", correctAnswer);
    }
Example #2
0
    private void DropBlock()
    {
        RaycastHit2D hit           = Physics2D.Raycast(transform.position + target, target, 0, layerMask);
        RaycastHit2D hitFromBehind = Physics2D.Raycast(transform.position - (rearClearance * target.normalized), transform.position, 0, obstructionMask);

        if (hit && !hitFromBehind)
        {
            MemorySpace memSpace = hit.transform.GetComponent <MemorySpace>();
            currentSpace = memSpace;
            if (memSpace && memSpace.OccupySpace(block.GetComponent <Block>().value))
            {
                Destroy(block);
                carryingBlock = false;
            }
        }
    }
Example #3
0
    // Update is called once per frame
    void Update()
    {
        if (targetHeight > transform.position.y)
        {
            Collider2D  memoryCollider = Physics2D.OverlapBox(new Vector2(transform.position.x, targetHeight), new Vector2(0.25f, 0.25f), 0f, memSpaceLayer);
            MemorySpace memSpace       = memoryCollider.GetComponent <MemorySpace>();

            memSpace.Unlock();
            memSpace.OccupySpace(value);

            Collider2D playerCollider = Physics2D.OverlapBox(new Vector2(transform.position.x, targetHeight), new Vector2(0.25f, 0.25f), 0f, playerLayer);
            if (playerCollider != null)
            {
                GameManager gameManager = GameObject.FindObjectOfType <GameManager>();
                gameManager.RegisterDeath();
                print("Player Killed");
            }

            Instantiate(particles, transform.position - (0.5f * Vector3.up), Quaternion.Euler(-10, 90, 0));
            Instantiate(particles, transform.position - (0.5f * Vector3.up), Quaternion.Euler(-10, -90, 0));
            Destroy(gameObject);
        }
    }