private void HandleActivateByTag(
            GameObjectSlot gameObjectSlot,
            RaycastHit hitInfo)
        {
            if (gameObjectSlot.IncludeExcludeType != InludeExcludeType.Tag)
            {
                return;
            }

            var hitGOTag = hitInfo.transform.gameObject.tag;

            // Handle include/exclude option.
            switch (gameObjectSlot.TagOption)
            {
            case TagOptions.Include:
                // Check tag.
                if (hitGOTag == gameObjectSlot.Tag)
                {
                    gameObjectSlot.ObjToEnable.SetActive(true);
                }
                break;

            case TagOptions.Exclude:
                if (hitGOTag != gameObjectSlot.Tag)
                {
                    gameObjectSlot.ObjToEnable.SetActive(true);
                }
                break;
            }
        }
 private void HandleActivateGameObject(
     GameObjectSlot gameObjectSlot,
     RaycastHit hitInfo)
 {
     HandleActivateByTag(gameObjectSlot, hitInfo);
     HandleActivateByLayer(gameObjectSlot, hitInfo);
 }
        private void HandleActivateByLayer(
            GameObjectSlot gameObjectSlot,
            RaycastHit hitInfo)
        {
            if (gameObjectSlot.IncludeExcludeType != InludeExcludeType.Layer)
            {
                return;
            }

            var hitGoLayer = hitInfo.transform.gameObject.layer;

            // Handle include/exclude option.
            switch (gameObjectSlot.TagOption)
            {
            case TagOptions.Include:
                // Check layer.
                if (hitGoLayer == gameObjectSlot.Layer)
                {
                    gameObjectSlot.ObjToEnable.SetActive(true);
                }
                break;

            case TagOptions.Exclude:
                if (hitGoLayer != gameObjectSlot.Layer)
                {
                    gameObjectSlot.ObjToEnable.SetActive(true);
                }
                break;
            }
        }