示例#1
0
 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]);
     }
 }
示例#2
0
        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;
        }
示例#3
0
        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;
        }
示例#4
0
        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;
        }
示例#5
0
        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]);
            }
        }
示例#6
0
 private void DrawCharatorInfo()
 {
     ShowUtil.DrawTitle("当前角色信息", Color.cyan);
     ShowUtil.DrawLine();
     EditorGUI.indentLevel += 2;
     EditorGUILayout.LabelField("模型名:" + (prefab == null?"无": prefab.name), GUILayout.ExpandWidth(true));
     EditorGUI.indentLevel -= 2;
 }
示例#7
0
 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;
 }
示例#8
0
        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;
        }
示例#9
0
 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);
 }
示例#10
0
 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;
 }
示例#11
0
 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;
 }
示例#12
0
 private void DrawOtherInfo()
 {
     ShowUtil.DrawTitle("其他配置", Color.yellow);
     equipInfo.suitTag   = EditorGUILayout.IntField("套装标记(0表示非套装)", equipInfo.suitTag);
     equipInfo.firePoint = (Transform)EditorGUILayout.ObjectField("武器枪口", equipInfo.firePoint, typeof(Transform), true);
 }
示例#13
0
 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;
 }
示例#14
0
 private void DrawObstacleInfo()
 {
     ShowUtil.DrawTitle("障碍信息", Color.yellow);
 }
示例#15
0
 private void DrawComponentInfo()
 {
     ShowUtil.DrawTitle("组件", Color.white);
 }