void CheckForUsableObject(int direction) { //making sure this can't be triggered during a fight or character is otherwise locked down if (!canAct || !canMove) { return; } Vector2 checkDir = Vector2.zero; RaycastHit2D[] hitList = new RaycastHit2D[5]; switch (direction) { case StaticData.DIR_UP: checkDir.y = 1; break; case StaticData.DIR_DOWN: checkDir.y = -1; break; case StaticData.DIR_RIGHT: checkDir.x = 1; break; case StaticData.DIR_LEFT: checkDir.x = -1; break; } int hitCount = rb.Cast(checkDir, hitList, grid / 2); if (hitCount > 5) { Debug.LogError("Do not have more than 5 items stacked on one tile! Bad designer, no twinkie!"); } for (int i = 0; i < hitCount; i++) { Fungus.Flowchart fc = hitList[i].collider.gameObject.GetComponent <Fungus.Flowchart>(); if (fc != null) { fc.ExecuteBlockDisableMove("InteractStart"); break; } //end if } //end for } //end method