// 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); }
private void PickupBlock() { RaycastHit2D hit = Physics2D.Raycast(transform.position + target, target, 0, layerMask); if (hit) { MemorySpace memSpace = hit.transform.GetComponent <MemorySpace>(); currentSpace = memSpace; if (memSpace) { int value = memSpace.UnOccupySpace(); if (value > 0) { block = Instantiate(blockPrefab, transform.position + (height * Vector3.up), Quaternion.identity, gameObject.transform); block.GetComponent <Block>().setValue(value); carryingBlock = true; } } } }