/// <summary> /// 窗口打开需要初始化EnemyDef数据库 /// </summary> void Awake() { if (EnemyDefList == null) { RPGData.LoadDefAssetAtPath <EnemyDef>(ref EnemyDefList, EnemyDefEditor.DIRECTORY_PATH, "asset"); } }
void OnGUI() { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("刷新数据", GUILayout.Width(120))) { RPGData.LoadDefAssetAtPath <EnemyDef>(ref EnemyDefList, EnemyDefEditor.DIRECTORY_PATH, "asset"); } EditorGUILayout.Space(); if (GUILayout.Button("确定", GUILayout.Width(120))) { if (!IsValidUnit()) { EditorUtility.DisplayDialog("无效坐标", "插入的坐标已经存在或格式不正确", "OK"); return; } if (!m_bMedify) { UnitSetting.Units.Add(unit); } else { EnemyUnitSetting.EnemyUnit previousUnit = UnitSetting.GetUnit(new Vector2Int(previousX, previousY)); int i = UnitSetting.Units.IndexOf(previousUnit); if (i >= 0) { UnitSetting.Units.RemoveAt(i); UnitSetting.Units.Insert(i, new EnemyUnitSetting.EnemyUnit(unit.Coord, unit.Enemy)); } } Close(); } EditorGUILayout.Space(); if (GUILayout.Button("取消", GUILayout.Width(120))) { Close(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); ShowEnemyDefList(); RPGEditorGUI.DrawVerticalLine(2, Color.black); ShowEnemyDefContent(); EditorGUILayout.EndHorizontal(); Undo.RecordObject(UnitSetting, "EnemyUnitSetting"); }