internal static void RefreshEditableMaterial(Material material) { SetEditable(material, VCUtility.HaveAssetControl(material) || !LockMaterial(material.GetAssetPath())); }
private static void SetMaterialLock(Material material, bool gameObjectLocked) { var assetPath = material.GetAssetPath(); var assetStatus = VCCommands.Instance.GetAssetStatus(assetPath); bool materialStoredInScene = VCUtility.MaterialStoredInScene(material); bool shouldLock = (materialStoredInScene ? gameObjectLocked : (VCUtility.ManagedByRepository(assetStatus) && !VCUtility.HaveAssetControl(assetStatus))) && LockMaterial(assetPath); SetEditable(material, !shouldLock); }