Beispiel #1
0
 /// <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);
 }
Beispiel #2
0
        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;
        }
Beispiel #3
0
 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");
 }
Beispiel #4
0
 void OnCut()
 {
     unitMirror = unitSetting.GetUnit(new Vector2Int(x, y));
     unitSetting.Remove(new Vector2Int(x, y));
 }
Beispiel #5
0
 void OnCopy()
 {
     unitMirror = unitSetting.GetUnit(new Vector2Int(x, y));
 }