protected void DrawSimpleIntField(JsonableScriptableObject jso, string label, ref int value, float defaultLabelWidth = 80f) { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField(label, GUILayout.Width(defaultLabelWidth)); var input = EditorGUILayout.IntField(value); if (input != value) { Undo.RegisterCompleteObjectUndo(jso, label + " Change"); value = input; EditorUtility.SetDirty(jso); } } EditorGUILayout.EndHorizontal(); }
protected virtual void DrawConvertMenu(JsonableScriptableObject jso) { if (m_config.pathInfoList.Count == 0) { EditorGUILayout.BeginHorizontal(); { var style = new GUIStyle(); style.alignment = TextAnchor.MiddleLeft; style.fixedHeight = 32; style.richText = true; GUILayout.Label(SystemIconManager.instance.GetIconTexture(SystemIcon.IconType.Warn), GUILayout.Width(32)); GUILayout.Label("<color=#FF0000>Please Add Deploy Setting !</color>", style); } EditorGUILayout.EndHorizontal(); GUILayout.Space(5); GUILayout.Box(GUIContent.none, HrStyle.EditorLine, GUILayout.ExpandWidth(true), GUILayout.Height(1f)); GUILayout.Space(5); return; } m_pathInfoTarget = EditorGUILayout.Popup("Target", m_pathInfoTarget, m_pathInfoList); var info = m_config.pathInfoList[m_pathInfoTarget]; DrawSimpleLabelField("JsonDirPath : ", info.workspacePath); DrawSimpleLabelField("S3 Path : ", "s3://" + info.s3Bucket + info.s3Folder); DrawSimpleLabelField("JsonName : ", jso.name + ".json"); EditorGUILayout.BeginHorizontal(); { if (GUILayout.Button("Import", EditorStyles.miniButton)) { ImportFromJson(); EditorUtility.SetDirty(jso); EditorUtility.DisplayDialog("JsonImport", "Complete", "OK"); } if (GUILayout.Button("Export", EditorStyles.miniButton)) { ExportToJson(); //EditorUtility.SetDirty(jso); EditorUtility.DisplayDialog("JsonExport", "Complete", "OK"); } if (GUILayout.Button("S3 Load", EditorStyles.miniButton)) { CopyFromS3(() => { m_callbackQueue.Push(() => { ImportFromJson(); EditorUtility.SetDirty(jso); EditorUtility.DisplayDialog("S3 Load", "Complete", "OK"); m_isTermPollCallbackQueue = true; }); }); m_isTermPollCallbackQueue = false; EditorApplication.delayCall += PollCallbackQueue; } if (GUILayout.Button("S3 Save", EditorStyles.miniButton)) { ExportToJson(); // 一応 CopyToS3(() => { m_callbackQueue.Push(() => { EditorUtility.DisplayDialog("S3 Save", "Complete", "OK"); m_isTermPollCallbackQueue = true; }); }); m_isTermPollCallbackQueue = false; EditorApplication.delayCall += PollCallbackQueue; } } EditorGUILayout.EndHorizontal(); GUILayout.Space(5); GUILayout.Box(GUIContent.none, HrStyle.EditorLine, GUILayout.ExpandWidth(true), GUILayout.Height(1f)); GUILayout.Space(5); }