romi_fauzi

DrawStringWithArray

Aug 3rd, 2021 (edited)
465
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.46 KB | None | 0 0
  1.     public static void DrawStringArraywithAudio(SerializedProperty messages, SerializedProperty audioClips, string label)
  2.     {
  3.         GUILayout.BeginVertical("box");
  4.         EditorGUILayout.LabelField(label);
  5.  
  6.         for (int i = 0; i < messages.arraySize; i++)
  7.         {
  8.             SerializedProperty members = messages.GetArrayElementAtIndex(i);
  9.             SerializedProperty audioMember = audioClips.GetArrayElementAtIndex(i); //add audio member
  10.  
  11.             GUILayout.BeginVertical("box");
  12.             GUILayout.BeginHorizontal();
  13.             EditorGUILayout.PropertyField(members, new GUIContent("Message " + (i + 1))); //new GUIContent("Message " + (i + 1))
  14.                                                                                           //draw remove button
  15.             if (GUILayout.Button("X", GUILayout.Width(20)))
  16.             {
  17.                 messages.DeleteArrayElementAtIndex(i);
  18.             }
  19.             GUILayout.EndHorizontal();
  20.  
  21.  
  22.             if (audioMember != null)
  23.             {
  24.                 EditorGUILayout.PropertyField(audioMember, new GUIContent("Audioclip " + (i + 1))); //new GUIContent("Message " + (i + 1))
  25.             }
  26.  
  27.             GUILayout.EndVertical();
  28.         }
  29.  
  30.         if (GUILayout.Button("Add message"))
  31.         {
  32.             messages.InsertArrayElementAtIndex(messages.arraySize);
  33.             audioClips.InsertArrayElementAtIndex(messages.arraySize);
  34.         }
  35.         GUILayout.EndVertical();
  36.     }
Add Comment
Please, Sign In to add comment