private void DrawGUI_Anim(DialogPortrait port) { Say say = target as Say; var preset = port.GetPresetData(); if (preset == null) { return; } var animPreset = say.animPressetIndex; string[] animPresetNames = null; if (preset.animPresets != null && preset.animPresets.Length > 0) { animPresetNames = new string[preset.animPresets.Length + 1]; for (int i = 0; i < preset.animPresets.Length; i++) { animPresetNames[0] = "Custom"; var item = preset.animPresets[i]; if (string.IsNullOrEmpty(item.name)) { animPresetNames[i + 1] = "Unkonw-" + i; } else { animPresetNames[i + 1] = item.name; } } } if (animPresetNames != null && animPresetNames.Length > 0) { animPreset = EditorGUILayout.Popup("AnimPreset:", animPreset + 1, animPresetNames) - 1; } else { animPreset = -1; } //say.portraitPresetIndex = portPreset; animPressetIndexProp.intValue = animPreset; if (animPreset >= 0) { GUILayout.Label("Anim:" + animPresetNames[animPreset]); } else if (animPreset < 0 && port != null && port.charLayers.Length > 0) { //GUILayout.Label("Custom Anim:"); //var setting = say.animClips; //if (setting == null //|| setting.Length != port.charLayers.Length //) //{ // setting = new int[port.charLayers.Length]; // for (int i = 0 ; i < setting.Length ; i++) // { // setting[i] = -1; // } //} //for (int i = 0 ; i < port.charLayers.Length ; i++) //{ // string[] popStr = null; // if (port.charLayers[i].sps != null && port.charLayers[i].sps.Count > 0) // { // popStr = new string[port.charLayers[i].sps.Count + 1]; // popStr[0] = "Default"; // for (int j = 0 ; j < port.charLayers[i].sps.Count ; j++) // { // Sprite sp = port.charLayers[i].sps[j]; // popStr[j + 1] = ((sp == null) ? "Null" : sp.name); // } // setting[i] = EditorGUILayout.Popup( // new GUIContent(string.Format(" Layer{0} :", i), "") // , setting[i] + 1 // , popStr) - 1; // } //} //portraitLayerSettingProp.ClearArray(); //for (int i = setting.Length - 1 ; i >= 0 ; i--) //{ // portraitLayerSettingProp.InsertArrayElementAtIndex(0); // var prop = portraitLayerSettingProp.GetArrayElementAtIndex(0); // prop.intValue = setting[i]; //} EditorGUILayout.PropertyField(animClipsProp, new GUIContent("Custom Anim"), true); } }
private void DrawGUI_Portraits(DialogPortrait port) { Say say = target as Say; var preset = port.GetPresetData(); if (preset == null) { return; } var portPreset = say.portraitPresetIndex; string[] portPresetNames = null; if (preset.portraitPresets != null && preset.portraitPresets.Length > 0) { portPresetNames = new string[preset.portraitPresets.Length + 1]; for (int i = 0; i < preset.portraitPresets.Length; i++) { portPresetNames[0] = "Custom"; PortraitPresetToken item = preset.portraitPresets[i]; if (string.IsNullOrEmpty(item.name)) { portPresetNames[i + 1] = "Unkonw-" + i; } else { portPresetNames[i + 1] = item.name; } } } if (portPresetNames != null && portPresetNames.Length > 0) { portPreset = EditorGUILayout.Popup("PortPreset:", portPreset + 1, portPresetNames) - 1; } else { portPreset = -1; } //say.portraitPresetIndex = portPreset; portraitPresetIndexProp.intValue = portPreset; if (portPreset >= 0) { GUILayout.Label("Portrait:" + portPresetNames[portPreset]); } else if (portPreset < 0 && port != null && port.charLayers.Length > 0) { GUILayout.Label("Custom Portrait:"); var setting = say.portraitLayerSetting; if (setting == null || setting.Length != port.charLayers.Length ) { setting = new int[port.charLayers.Length]; for (int i = 0; i < setting.Length; i++) { setting[i] = -1; } } for (int i = 0; i < port.charLayers.Length; i++) { string[] popStr = null; if (port.charLayers[i].sps != null && port.charLayers[i].sps.Count > 0) { popStr = new string[port.charLayers[i].sps.Count + 1]; popStr[0] = "Default"; for (int j = 0; j < port.charLayers[i].sps.Count; j++) { Sprite sp = port.charLayers[i].sps[j]; popStr[j + 1] = ((sp == null) ? "Null" : sp.name); } setting[i] = EditorGUILayout.Popup( new GUIContent(string.Format(" Layer{0} :", i), "") , setting[i] + 1 , popStr) - 1; } } portraitLayerSettingProp.ClearArray(); for (int i = setting.Length - 1; i >= 0; i--) { portraitLayerSettingProp.InsertArrayElementAtIndex(0); var prop = portraitLayerSettingProp.GetArrayElementAtIndex(0); prop.intValue = setting[i]; } } }