Ejemplo n.º 1
0
 public void SetData(ItemForEdit gd)
 {
     this.gd = gd;
     if (gd != null)
     {
         transform.GetComponentInChildren <Text>().text = gd.name;
     }
 }
Ejemplo n.º 2
0
 public void SetData(ItemForEdit gd)
 {
     txtName.text = gd.name;
     txtInfo.text = gd.name + "的描述说明。";
 }
Ejemplo n.º 3
0
 public void UI_Show(ItemForEdit gd)
 {
     SetData(gd);
     gameObject.SetActive(true);
 }
Ejemplo n.º 4
0
    void OnNodeUI(NodeForEdit node)
    {
        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("-", GUILayout.Width(20)))
        {
            if (EditorUtility.DisplayDialog("提示", "确定要删除节点马?", "是", "否"))
            {
                map.nodes.Remove(node);
            }
        }
        GUILayout.Label("名称:", GUILayout.Width(60));
        node.name = EditorGUILayout.TextField(node.name);
        EditorGUILayout.EndHorizontal();
        UnityEngine.Object obj = node.transMap;
        obj           = EditorGUILayout.ObjectField(obj, typeof(MapForEdit));
        node.transMap = (MapForEdit)obj;
        if (node.transMap != null)
        {
            List <string> list   = new List <string>(node.transMap.nodes.Count);
            int           selIdx = 0;
            for (int i = 0; i < node.transMap.nodes.Count; i++)
            {
                NodeForEdit dnd = node.transMap.nodes[i];
                list.Add(dnd.name + "_" + dnd.id);
                if (dnd.id == node.transId)
                {
                    selIdx = i;
                }
            }
            selIdx = EditorGUILayout.Popup(selIdx, list.ToArray());
            if (selIdx >= 0)
            {
                node.transId = node.transMap.nodes[selIdx].id;
            }
        }
        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button(GetNodeString(map.FindRoad(node, NodeForEdit.MoveDir.WN)), GUILayout.Width(60), GUILayout.Height(60)))
        {
            LinkNode(node, NodeForEdit.MoveDir.WN);
        }
        if (GUILayout.Button(GetNodeString(map.FindRoad(node, NodeForEdit.MoveDir.N)), GUILayout.Width(60), GUILayout.Height(60)))
        {
            LinkNode(node, NodeForEdit.MoveDir.N);
        }
        if (GUILayout.Button(GetNodeString(map.FindRoad(node, NodeForEdit.MoveDir.EN)), GUILayout.Width(60), GUILayout.Height(60)))
        {
            LinkNode(node, NodeForEdit.MoveDir.EN);
        }
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button(GetNodeString(map.FindRoad(node, NodeForEdit.MoveDir.W)), GUILayout.Width(60), GUILayout.Height(60)))
        {
            LinkNode(node, NodeForEdit.MoveDir.W);
        }
        GUILayout.Label(GetNodeString(node), f1, GUILayout.Width(60), GUILayout.Height(60));
        if (GUILayout.Button(GetNodeString(map.FindRoad(node, NodeForEdit.MoveDir.E)), GUILayout.Width(60), GUILayout.Height(60)))
        {
            LinkNode(node, NodeForEdit.MoveDir.E);
        }
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button(GetNodeString(map.FindRoad(node, NodeForEdit.MoveDir.WS)), GUILayout.Width(60), GUILayout.Height(60)))
        {
            LinkNode(node, NodeForEdit.MoveDir.WS);
        }
        if (GUILayout.Button(GetNodeString(map.FindRoad(node, NodeForEdit.MoveDir.S)), GUILayout.Width(60), GUILayout.Height(60)))
        {
            LinkNode(node, NodeForEdit.MoveDir.S);
        }
        if (GUILayout.Button(GetNodeString(map.FindRoad(node, NodeForEdit.MoveDir.ES)), GUILayout.Width(60), GUILayout.Height(60)))
        {
            LinkNode(node, NodeForEdit.MoveDir.ES);
        }
        EditorGUILayout.EndHorizontal();

        GUILayout.Label("这里有:");
        for (int i = node.items.Count - 1; i >= 0; i--)
        {
            if (node.items[i] == null)
            {
                node.items.RemoveAt(i);
                continue;
            }
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("-", GUILayout.Width(20)))
            {
                if (EditorUtility.DisplayDialog("提示", "要删除物品吗?", "是", "否"))
                {
                    node.items.RemoveAt(i);
                    continue;
                }
            }
            node.items[i].name = EditorGUILayout.TextField(node.items[i].name);
            GUILayout.Label("[" + node.items[i].id + "]");
            EditorGUILayout.EndHorizontal();
        }

        ItemTypes selItem = (ItemTypes)EditorGUILayout.EnumPopup(ItemTypes.新物品);

        if (selItem != ItemTypes.新物品)
        {
            ItemForEdit item = new ItemForEdit(GetNewId(), selItem);
            node.items.Add(item);
        }
        for (int i = node.npcs.Count - 1; i >= 0; i--)
        {
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("-", GUILayout.Width(20)))
            {
                if (EditorUtility.DisplayDialog("提示", "要删NPC吗?", "是", "否"))
                {
                    node.npcs.RemoveAt(i);
                }
            }
            node.npcs[i].name = EditorGUILayout.TextField(node.npcs[i].name);
            GUILayout.Label("[" + node.npcs[i].id + "]");
            EditorGUILayout.EndHorizontal();
        }
        if (GUILayout.Button("新NPC"))
        {
            NpcForEdit npc = new NpcForEdit(GetNewId(), "NewNpc");
            node.npcs.Add(npc);
        }
    }