public void OnGUI() { if (mHitData != null) { mHitData.name = AIFUIUtility.DrawTextField(mHitData.name, "名称", 100); mHitData.startTime = EditorGUILayout.FloatField("开始触发时间", mHitData.startTime); mHitData.lastTime = EditorGUILayout.FloatField("持续时间", mHitData.lastTime); mHitData.hitInterval = EditorGUILayout.FloatField("攻击间隔", mHitData.hitInterval); mHitData.entityResName = EditorGUILayout.TextField("显示实体资源", mHitData.entityResName); mHitData.startPosition = EditorGUILayout.Vector3Field("初始位置", mHitData.startPosition); mHitData.startDirection = EditorGUILayout.Vector3Field("初始角度", mHitData.startDirection); mHitData.moveSpeed = EditorGUILayout.FloatField("移动速度", mHitData.moveSpeed); mHitData.autoFaceTarget = EditorGUILayout.Toggle("自动朝向攻击目标", mHitData.autoFaceTarget); EditorGUILayout.Separator(); GUILayout.Label("击中判定:"); HitCheckBase hitCheck = mHitData.hitCheckData; hitCheck.shapeType = (EHitCheckShape)AIFUIUtility.DrawCustomEnum("击中框类型", hitCheck.shapeType, 100); hitCheck.posOffset = EditorGUILayout.Vector3Field("位置偏移", hitCheck.posOffset); hitCheck.radius = EditorGUILayout.FloatField("半径", hitCheck.radius); if (hitCheck.shapeType == EHitCheckShape.LaserBeam) { hitCheck.height = EditorGUILayout.FloatField("激光束长度", hitCheck.height); } else { hitCheck.height = EditorGUILayout.FloatField("高度", hitCheck.height); } hitCheck.angle = EditorGUILayout.FloatField("攻击角度", hitCheck.angle); } }
void OnGUI() { if (mDataUnit != null) { if (mMode == EditMode.Create) { if (GUILayout.Button("Save", GUILayout.Width(80))) { if (AIDataEditor.CheckCreateNew(mDataUnit)) { if (onCreateNew != null) { onCreateNew(mDataUnit); Close(); } } } } mDataUnit.Id = EditorGUILayout.IntField("Id", mDataUnit.Id); mDataUnit.AiName = AIFUIUtility.DrawTextField(mDataUnit.AiName, "AiName", 100); } }
void OnGUI() { GUILayout.BeginHorizontal(); if (GUILayout.Button("Load File New")) { AIDataMgr.instance.LoadNewData(); } if (GUILayout.Button("重新加载AI配置表")) { LoadAiTable(); } if (GUILayout.Button("ClearAllAI", GUILayout.Width(100))) { AIMgr.instance.DestroyAllAIs(); } if (GUILayout.Button("DebugWindow", GUILayout.Width(100))) { AIDebugWindow.Open(); } GUILayout.EndHorizontal(); AIMgr.DisableAiAttack = EditorGUILayout.Toggle("关闭AI攻击", AIMgr.DisableAiAttack); createCamp = (EAiCamp)EditorGUILayout.EnumPopup("创建阵营", createCamp); createAsAI = EditorGUILayout.Toggle("asAi", createAsAI); GUILayout.BeginHorizontal(); aiModelName = AIFUIUtility.DrawTextField(aiModelName, "AI资源名"); aiDataId = EditorGUILayout.IntField("AI数据ID", aiDataId); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Create")) { CreateAI(aiModelName, aiDataId, createCamp, createAsAI); } if (GUILayout.Button("CreateEnemy")) { CreateAI(aiModelName, aiDataId, EAiCamp.Enemy, true); } GUILayout.EndHorizontal(); GUILayout.Label("创建列表"); GUILayout.BeginScrollView(scrollPos); for (int i = 0; i < roleInfoTableManager.instance.Size(); i++) { roleInfo info = roleInfoTableManager.instance.GetByIndex(i); GUILayout.BeginHorizontal(); GUILayout.Label(info.ID + "/" + info.AiDataId + "/" + info.name, GUILayout.Width(200)); if (GUILayout.Button("创建为主角")) { CreateAI(info.resModel, info.AiDataId, EAiCamp.MainPlayer, false); } if (GUILayout.Button("创建为友方")) { CreateAI(info.resModel, info.AiDataId, EAiCamp.Friend, true); } if (GUILayout.Button("创建为敌方")) { CreateAI(info.resModel, info.AiDataId, EAiCamp.Enemy, true); } GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); }