private static HashSet <System.Type> GetWhitelistForSDK(GameObject avatar) { VRC.SDKBase.VRC_AvatarDescriptor descriptor = avatar.GetComponent <VRC.SDKBase.VRC_AvatarDescriptor>(); #if VRC_SDK_VRCSDK2 if (descriptor is VRCSDK2.VRC_AvatarDescriptor) { if (CombinedComponentTypeWhiteListSdk2 == null) { List <string> concatenation = new List <string>(ComponentTypeWhiteListCommon); concatenation.AddRange(ComponentTypeWhiteListSdk2); CombinedComponentTypeWhiteListSdk2 = concatenation.ToArray(); } return(ValidationUtils.WhitelistedTypes("avatar-sdk2", CombinedComponentTypeWhiteListSdk2)); } #endif #if VRC_SDK_VRCSDK3 if (descriptor is VRC.SDK3.Avatars.Components.VRCAvatarDescriptor) { if (CombinedComponentTypeWhiteListSdk3 == null) { List <string> concatenation = new List <string>(ComponentTypeWhiteListCommon); concatenation.AddRange(ComponentTypeWhiteListSdk3); CombinedComponentTypeWhiteListSdk3 = concatenation.ToArray(); } return(ValidationUtils.WhitelistedTypes("avatar-sdk3", CombinedComponentTypeWhiteListSdk3)); } #endif throw new System.Exception("Malformed avatar"); }
public static void RemoveIllegalComponents(GameObject[] targets, WhiteListConfiguration config, bool retry = true) { ConfigureWhiteList(config); foreach (GameObject target in targets) { ValidationUtils.RemoveIllegalComponents(target, ValidationUtils.WhitelistedTypes("world" + config.ToString(), ComponentTypeWhiteList), retry, true); } }
public static void RemoveIllegalComponents(IEnumerable <GameObject> targets, WhiteListConfiguration config, bool retry = true) { ConfigureWhiteList(config); HashSet <Type> whitelist = ValidationUtils.WhitelistedTypes("world" + config, ComponentTypeWhiteList); foreach (GameObject target in targets) { ValidationUtils.RemoveIllegalComponents(target, whitelist, retry, true); AddScanned(target); } }
public static void ScanGameobject(GameObject target) { if (scannedObjects.Contains(target.GetInstanceID())) { return; } ValidationUtils.RemoveIllegalComponents(target, ValidationUtils.WhitelistedTypes("world", ComponentTypeWhiteList)); scannedObjects.Add(target.GetInstanceID()); }
public static void ScanGameObject(GameObject target, WhiteListConfiguration config) { if (WasScanned(target)) { return; } ConfigureWhiteList(config); HashSet <Type> whitelist = ValidationUtils.WhitelistedTypes("world", ComponentTypeWhiteList); ValidationUtils.RemoveIllegalComponents(target, whitelist); AddScanned(target); }
public static IEnumerable <Component> FindIllegalComponents(GameObject target) { return(ValidationUtils.FindIllegalComponents(target, ValidationUtils.WhitelistedTypes("avatar", ComponentTypeWhiteList))); }
public static IEnumerator RemoveIllegalComponentsEnumerator(GameObject target, bool retry = true) { return(ValidationUtils.RemoveIllegalComponentsEnumerator(target, ValidationUtils.WhitelistedTypes("avatar", ComponentTypeWhiteList), retry)); }
public static void RemoveIllegalComponents(GameObject target, bool retry = true) { ValidationUtils.RemoveIllegalComponents(target, ValidationUtils.WhitelistedTypes("avatar", ComponentTypeWhiteList), retry); }
public static IEnumerator RemoveIllegalComponentsEnumerator(GameObject[] targets, bool retry = true) { foreach (GameObject target in targets) { yield return(ValidationUtils.RemoveIllegalComponentsEnumerator(target, ValidationUtils.WhitelistedTypes("world", ComponentTypeWhiteList), retry, true)); } }