using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TinaX;
using TinaX.VFSKit;
namespace TinaXEditor.VFSKit
{
///
/// 资源状态查询结果
///
public struct AssetsStatusQueryResult
{
public string AssetPath { get; set; }
///
/// 是否被VFS管理
///
public bool ManagedByVFS
{
get
{
if (!this.InWhitelist) return false; //压根不在组的管理白名单中,返回false
if (this.InWhitelist)
{
if (this.IgnoreByGlobalRule) return false; //被全局规则所忽略
if (this.IgnoreByGroupRule) return false; //被组内规则忽略。
}
if (GroupName.IsNullOrEmpty()) return false;
return true;
}
}
///
/// 在某组的白名单中
///
public bool InWhitelist { get; set; }
///
/// 所在组名(在InWhitelist 为 true 时有效)
///
public string GroupName { get; set; }
///
/// 被所在组的规则忽略
///
public bool IgnoreByGroupRule
{
get
{
return (IgnoreByGroup_IgnoreSubPath_List || IgnoreByGroup_IgnoreExtName_List);
}
}
///
/// 被Group中的“IgnoreSubPath”规则所忽略
///
public bool IgnoreByGroup_IgnoreSubPath_List { get; set; }
///
/// 被Group在的“IgnoreExtName”规则所忽略
///
public bool IgnoreByGroup_IgnoreExtName_List { get; set; }
///
/// 被全局规则所忽略
///
public bool IgnoreByGlobalRule
{
get
{
if (IgnoreByGlobal_IgnoreExtName_List || IgnoreByGlobal_IgnorePathItem_List)
return true;
else
return false;
}
}
public bool IgnoreByGlobal_IgnoreExtName_List { get; set; }
public bool IgnoreByGlobal_IgnorePathItem_List { get; set; }
public string AssetBundleFileName { get; set; }
public string AssetBundleFileNameWithoutExtension { get; set; }
public FolderBuildType BuildType { get; set; }
public FolderBuildDevelopType DevType { get; set; }
public bool ExtensionGroup { get; set; }
}
}