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));
        }
        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;
            }
            if (data == null)
            {
                return(false);
            }
            return(data.GetInt(_data) >= _minAmount);
        }