protected override void Awake()
    {
        currentInstance = this;

        base.Awake();
        cursorTransform    = transform.Find("Cursor");
        cursorTopTransform = cursorTransform.Find("Top");

        topSpriteObjects = new GameObject[] {
            cursorTopTransform.Find("Flat").gameObject,
            cursorTopTransform.Find("Up").gameObject,
            cursorTopTransform.Find("Up-Right").gameObject,
            cursorTopTransform.Find("Down-Right").gameObject,
            cursorTopTransform.Find("Down").gameObject,
            cursorTopTransform.Find("Down-Left").gameObject,
            cursorTopTransform.Find("Up-Left").gameObject,
            cursorTopTransform.Find("Obstacle").gameObject
        };

        if (cursorColumnPrefab == null)
        {
            cursorColumnPrefab = Resources.Load <GameObject>("Prefabs/CursorColumn");
        }
    }