/// <summary> /// 打开添加敌人的窗口 /// </summary> /// <param name="setting"></param> /// <param name="x"></param> /// <param name="y"></param> public static void OpenAddEnemyWindow(int x, int y, EnemyUnitSetting setting) { OpenWindow(); m_bMedify = false; UnitSetting = setting; unit = new EnemyUnitSetting.EnemyUnit(x, y); }
public static void OpenSetEnemyWindow(int x, int y, EnemyUnitSetting setting, EnemyDef enemy, int index) { OpenWindow(); m_bMedify = true; previousX = x; previousY = y; UnitSetting = setting; unit = new EnemyUnitSetting.EnemyUnit(x, y); unit.Enemy = enemy; if (enemy == null) { unit.Enemy = EnemyDefList[0]; } ActiveIndex = index; }
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"); }
void OnCut() { unitMirror = unitSetting.GetUnit(new Vector2Int(x, y)); unitSetting.Remove(new Vector2Int(x, y)); }
void OnCopy() { unitMirror = unitSetting.GetUnit(new Vector2Int(x, y)); }