private void DrawBoneWearInfo() { ShowUtil.DrawTitle("骨骼装配方案", Color.magenta); ShowUtil.DrawLine(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("添加骨骼", GUILayout.Width(120f))) { List <EquipInfo.EquipSki> skis; if (equipInfo.skis == null) { skis = new List <EquipInfo.EquipSki>(); } else { skis = new List <EquipInfo.EquipSki>(equipInfo.skis); } skis.Add(new EquipInfo.EquipSki()); equipInfo.skis = skis.ToArray(); } GUILayout.EndHorizontal(); if (null == equipInfo.skis) { return; } for (int i = 0; i < equipInfo.skis.Length; ++i) { ShowUtil.DrawLine(); DrawOneSki(equipInfo.skis[i]); } }
private void DrawOtherInfo() { ShowUtil.DrawTitle("其他配置", Color.yellow); EditorGUIUtility.labelWidth = 250f; EditorGUI.indentLevel += 2; //角色层级 GUILayout.BeginHorizontal(); charater.layer = EditorGUILayout.LayerField("角色层级", charater.layer); if (GUILayout.Button("设置", GUILayout.Width(120f))) { charater.layer = Const.LAYER_CHARACTER_MOVER; } GUILayout.EndHorizontal(); //骨骼数 bonePre = EditorGUILayout.TextField("骨骼前缀", bonePre); GUILayout.BeginHorizontal(); EditorGUILayout.IntField("骨骼数", spriteInfo.boneCount); if (GUILayout.Button("设置", GUILayout.Width(120f))) { spriteInfo.boneCount = Utils.CalcBoneCount(charater, bonePre); } GUILayout.EndHorizontal(); //面数 GUILayout.BeginHorizontal(); EditorGUILayout.IntField("模型面数", spriteInfo.trisCount); if (GUILayout.Button("设置", GUILayout.Width(120f))) { spriteInfo.trisCount = Utils.CalcTriCount(charater); } GUILayout.EndHorizontal(); EditorGUI.indentLevel -= 2; }
private void DrawSpriteColliderInfo() { ShowUtil.DrawTitle("代表本体的碰撞信息", Color.magenta); ShowUtil.DrawLine(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("重置", GUILayout.Width(120f))) { SetSpriteCollider(); } GUILayout.EndHorizontal(); if (spriteInfo.spriteCollider == null) { EditorUtils.DrawNoCollider(); return; } ObjCollider objCollider = spriteInfo.spriteCollider; EditorGUI.indentLevel += 2; EditorGUILayout.ObjectField("碰撞体", objCollider, typeof(ObjCollider), true); objCollider.gameObject.layer = EditorGUILayout.LayerField("碰撞体层级", objCollider.gameObject.layer, GUILayout.ExpandWidth(true)); EditorGUILayout.ObjectField("信息体", objCollider.info, typeof(ObjInfo), true); EditorGUI.indentLevel -= 2; }
private void DrawObstacleInfo() { ShowUtil.DrawTitle("障碍信息", Color.yellow); ShowUtil.DrawLine(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("设置障碍", GUILayout.Width(120f))) { SetObstacle(); } GUILayout.EndHorizontal(); if (itemInfo.obstacle == null) { EditorGUILayout.LabelField("没有设置障碍", GUILayout.Width(120)); return; } EditorGUI.indentLevel += 2; EditorGUILayout.ObjectField("障碍", itemInfo.obstacle, typeof(GameObject), true); Collider obstacleCollider = itemInfo.obstacle.GetComponent <Collider>(); if (obstacleCollider == null) { EditorGUILayout.LabelField("请设置障碍的Collider"); } EditorGUI.indentLevel -= 2; }
private void DrawUsableColliderInfo() { ShowUtil.DrawTitle("使用的碰撞信息", Color.magenta); ShowUtil.DrawLine(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("添加", GUILayout.Width(120f))) { UseableCollider collider = EditorUtils.AddUsableCollider(furniture.transform, furnitureInfo, 3, true); List <UseableCollider> newColliders = new List <UseableCollider>(furnitureInfo.usableColliders); newColliders.Add(collider); furnitureInfo.usableColliders = newColliders.ToArray(); } GUILayout.EndHorizontal(); if (furnitureInfo.usableColliders == null || furnitureInfo.usableColliders.Length == 0) { EditorUtils.DrawNoCollider(); return; } for (int i = 0; i < furnitureInfo.usableColliders.Length; ++i) { ShowUtil.DrawLine(); EditorUtils.DrawUsableColliderInfo(ref furnitureInfo.usableColliders[i]); } }
private void DrawCharatorInfo() { ShowUtil.DrawTitle("当前角色信息", Color.cyan); ShowUtil.DrawLine(); EditorGUI.indentLevel += 2; EditorGUILayout.LabelField("模型名:" + (prefab == null?"无": prefab.name), GUILayout.ExpandWidth(true)); EditorGUI.indentLevel -= 2; }
public static void DrawPrefabInfo(GameObject prefab) { ShowUtil.DrawTitle("当前物体信息", Color.cyan); ShowUtil.DrawLine(); EditorGUI.indentLevel += 2; EditorGUILayout.LabelField("模型名:" + (prefab == null?"无": prefab.name), GUILayout.ExpandWidth(true)); EditorGUI.indentLevel -= 2; }
private void DrawOtherInfo() { ShowUtil.DrawTitle("其他配置", Color.yellow); EditorGUIUtility.labelWidth = 250f; EditorGUI.indentLevel += 2; furnitureInfo.furnitureType = (FurnitureType)EditorGUILayout.EnumPopup("建筑类型", furnitureInfo.furnitureType); furnitureInfo.cellWidth = EditorGUILayout.IntField("格子长度", furnitureInfo.cellWidth); furnitureInfo.cellHeight = EditorGUILayout.IntField("格子宽度", furnitureInfo.cellHeight); furnitureInfo.direction = (FurnitureDirect)EditorGUILayout.EnumPopup("默认朝向", furnitureInfo.direction); EditorGUI.indentLevel -= 2; }
private void DrawUseableColliderInfo() { ShowUtil.DrawTitle("代表被拾取的碰撞体信息", Color.magenta); ShowUtil.DrawLine(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("重置", GUILayout.Width(120f))) { EditorUtils.SetUsableCollider(ref spriteInfo.useableCollider, charater.transform, spriteInfo, 1, false); } GUILayout.EndHorizontal(); if (spriteInfo.useableCollider == null) { EditorUtils.DrawNoCollider(); return; } EditorUtils.DrawUsableColliderInfo(ref spriteInfo.useableCollider); }
private void DrawMountInfo() { ShowUtil.DrawTitle("角色挂点", Color.green); EditorGUI.indentLevel += 2; for (int i = 0; i < 4; ++i) { GUILayout.BeginHorizontal(); spriteInfo.mounts[i] = (Transform)EditorGUILayout.ObjectField(SPRITE_HH_CHS[i], spriteInfo.mounts[i], typeof(Transform), true); if (GUILayout.Button("设置", GUILayout.Width(120f))) { spriteInfo.mounts[i] = charater.transform.FindRecursive(SPRITE_HH[i]); } GUILayout.EndHorizontal(); } EditorGUI.indentLevel -= 2; }
private void DrawComponentInfo() { ShowUtil.DrawTitle("组件", Color.white); EditorGUI.indentLevel += 2; GUILayout.BeginHorizontal(); itemInfo.animation = (Animation)EditorGUILayout.ObjectField("动画", itemInfo.animation, typeof(Animation), true); if (GUILayout.Button("设置", GUILayout.Width(120f))) { itemInfo.animation = item.GetComponent <Animation>(); if (null != itemInfo.animation) { itemInfo.animation.playAutomatically = false; itemInfo.animation.clip = null; } } GUILayout.EndHorizontal(); EditorGUI.indentLevel -= 2; }
private void DrawOtherInfo() { ShowUtil.DrawTitle("其他配置", Color.yellow); equipInfo.suitTag = EditorGUILayout.IntField("套装标记(0表示非套装)", equipInfo.suitTag); equipInfo.firePoint = (Transform)EditorGUILayout.ObjectField("武器枪口", equipInfo.firePoint, typeof(Transform), true); }
private void DrawComponentInfo() { ShowUtil.DrawTitle("角色组件", Color.white); EditorGUI.indentLevel += 2; GUILayout.BeginHorizontal(); spriteInfo.animation = (Animation)EditorGUILayout.ObjectField("动画", spriteInfo.animation, typeof(Animation), true); if (GUILayout.Button("设置", GUILayout.Width(120f))) { spriteInfo.animation = charater.GetComponent <Animation>(); if (null != spriteInfo.animation) { spriteInfo.animation.playAutomatically = false; spriteInfo.animation.clip = null; } } GUILayout.EndHorizontal(); EditorUtils.DrawAniSet(charater, ref aniFolder); GUILayout.BeginHorizontal(); spriteInfo.cct = (CharacterController)EditorGUILayout.ObjectField("移动控制", spriteInfo.cct, typeof(CharacterController), true); if (GUILayout.Button("设置", GUILayout.Width(120f))) { spriteInfo.cct = charater.GetComponent <CharacterController>(); if (null == spriteInfo.cct) { spriteInfo.cct = charater.AddComponent <CharacterController>(); } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); spriteInfo.follower = (NavFollower)EditorGUILayout.ObjectField("寻路", spriteInfo.follower, typeof(NavFollower), true); if (GUILayout.Button("设置", GUILayout.Width(120f))) { spriteInfo.follower = charater.GetComponent <NavFollower>(); if (null == spriteInfo.follower) { spriteInfo.follower = charater.AddComponent <NavFollower>(); } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); spriteInfo.equipWear = (EquipWear)EditorGUILayout.ObjectField("换装", spriteInfo.equipWear, typeof(Replacement), true); if (GUILayout.Button("设置", GUILayout.Width(120f))) { spriteInfo.equipWear = charater.GetComponent <EquipWear>(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); spriteInfo.dismemberment = (Dismemberment)EditorGUILayout.ObjectField("肢解", spriteInfo.dismemberment, typeof(Dismemberment), true); if (GUILayout.Button("设置", GUILayout.Width(120f))) { spriteInfo.dismemberment = charater.GetComponent <Dismemberment>(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); spriteInfo.ragdollManager = (RagdollManagerHum)EditorGUILayout.ObjectField("布娃娃", spriteInfo.ragdollManager, typeof(RagdollManagerHum), true); if (GUILayout.Button("设置", GUILayout.Width(120f))) { spriteInfo.ragdollManager = charater.GetComponent <RagdollManagerHum>(); } GUILayout.EndHorizontal(); EditorGUI.indentLevel -= 2; }
private void DrawObstacleInfo() { ShowUtil.DrawTitle("障碍信息", Color.yellow); }
private void DrawComponentInfo() { ShowUtil.DrawTitle("组件", Color.white); }