public bool CanTarget(BaseActionTemplate template, CharacterTemplate character, CharacterTemplate target)
        {
            GenericDataComponent data = null;

            switch (_type)
            {
            case ActionDataTargetType.Action:
                data = template.Data;
                break;

            case ActionDataTargetType.Target:
                data = character.GenericData;
                break;

            case ActionDataTargetType.Owner:
                data = target.GenericData;
                break;
            }
            return(data != null && data.HasString(_data));
        }