コード例 #1
0
 private void AddVariantMenuSelected(object userData, string[] options, int selected)
 {
     ShaderVariantCollectionInspector.AddVariantMenuData addVariantMenuData = (ShaderVariantCollectionInspector.AddVariantMenuData)userData;
     string[] keywords = addVariantMenuData.keywords[selected].Split(new char[]
     {
         ' '
     });
     ShaderVariantCollection.ShaderVariant variant = new ShaderVariantCollection.ShaderVariant(addVariantMenuData.shader, (PassType)addVariantMenuData.types[selected], keywords);
     Undo.RecordObject(addVariantMenuData.collection, "Add variant");
     addVariantMenuData.collection.Add(variant);
 }
コード例 #2
0
 private void DisplayAddVariantsMenu(Rect rect, Shader shader, ShaderVariantCollection collection)
 {
     ShaderVariantCollectionInspector.AddVariantMenuData addVariantMenuData = new ShaderVariantCollectionInspector.AddVariantMenuData();
     addVariantMenuData.shader     = shader;
     addVariantMenuData.collection = collection;
     ShaderUtil.GetShaderVariantEntries(shader, collection, out addVariantMenuData.types, out addVariantMenuData.keywords);
     if (addVariantMenuData.keywords.Length == 0)
     {
         EditorApplication.Beep();
         return;
     }
     string[] array = new string[addVariantMenuData.keywords.Length];
     for (int i = 0; i < addVariantMenuData.keywords.Length; i++)
     {
         array[i] = (PassType)addVariantMenuData.types[i] + "/" + ((!string.IsNullOrEmpty(addVariantMenuData.keywords[i])) ? addVariantMenuData.keywords[i] : "<no keywords>");
     }
     EditorUtility.DisplayCustomMenu(rect, array, null, new EditorUtility.SelectMenuItemFunction(this.AddVariantMenuSelected), addVariantMenuData);
 }
コード例 #3
0
		private void DisplayAddVariantsMenu(Rect rect, Shader shader, ShaderVariantCollection collection)
		{
			ShaderVariantCollectionInspector.AddVariantMenuData addVariantMenuData = new ShaderVariantCollectionInspector.AddVariantMenuData();
			addVariantMenuData.shader = shader;
			addVariantMenuData.collection = collection;
			ShaderUtil.GetShaderVariantEntries(shader, collection, out addVariantMenuData.types, out addVariantMenuData.keywords);
			if (addVariantMenuData.keywords.Length == 0)
			{
				EditorApplication.Beep();
				return;
			}
			string[] array = new string[addVariantMenuData.keywords.Length];
			for (int i = 0; i < addVariantMenuData.keywords.Length; i++)
			{
				array[i] = (PassType)addVariantMenuData.types[i] + "/" + ((!string.IsNullOrEmpty(addVariantMenuData.keywords[i])) ? addVariantMenuData.keywords[i] : "<no keywords>");
			}
			EditorUtility.DisplayCustomMenu(rect, array, null, new EditorUtility.SelectMenuItemFunction(this.AddVariantMenuSelected), addVariantMenuData);
		}