コード例 #1
0
 void Awake()
 {
     canvas.gameObject.SetActive(true);
     pathfind = GetComponent <s_pathfind>();
     nl       = this;
     InEditor = false;
     InitializeLoader();
     InitializeGameWorld();
     colmp.color = Color.clear;
     foreach (KeyValuePair <string, int> v in s_globals.GlobalFlags)
     {
         s_globals.SetGlobalFlag(v.Key, 0);
     }
     //LoadMap(maps[0]);
 }
コード例 #2
0
    public override void OnInspectorGUI()
    {
        if (mapdat == null)
        {
            mapdat = GameObject.Find("General").GetComponent <s_ninjaloader>();
        }
        o_trigger tra = (o_trigger)target;

        base.OnInspectorGUI();

        for (int i = 0; i < Labelmap().Count; i++)
        {
            if (GUILayout.Button(Labelmap()[i].Item1))
            {
                tra.LabelToJumpTo = Labelmap()[i].Item2;
            }
        }
    }
コード例 #3
0
    public List <s_map.s_tileobj> GetNodes()
    {
        if (nl == null)
        {
            nl = this;
        }
        s_object[]             tiles = GetTileObjects();
        List <s_map.s_tileobj> t     = new List <s_map.s_tileobj>();
        int nodeID = 0;

        foreach (s_object c in tiles)
        {
            s_map.s_tileobj til = new s_map.s_tileobj(c.ID);
            til.pos_x = (int)c.transform.position.x;
            til.pos_y = (int)c.transform.position.y;

            switch (c.ID)
            {
            case "Node":
                o_nodeobj nod = c.GetComponent <o_nodeobj>();
                if (nod.nieghbours != null)
                {
                    foreach (o_nodeobj no in nod.nieghbours)
                    {
                        if (no == null)
                        {
                            continue;
                        }
                        if (til.CustomTypes != null)
                        {
                            til.CustomTypes.Add(new s_map.s_customType("node", no.nodeID));
                        }
                    }
                }
                t.Add(til);
                nodeID++;
                continue;

            default:
                continue;
            }
        }
        return(t);
    }
コード例 #4
0
    public override void OnInspectorGUI()
    {
        GameObject obj = Selection.activeGameObject;

        if (obj != null)
        {
            o_nodeobj anim = obj.GetComponent <o_nodeobj>();
            if (anim != null)
            {
                anim.nodeID = EditorGUILayout.IntField(anim.nodeID);
                EditorGUILayout.LabelField("Node neighbours");
                for (int i = 0; i < anim.nieghbours.Count; i++)
                {
                    o_nodeobj nod = anim.nieghbours[i];
                    if (nod == null)
                    {
                        continue;
                    }
                    if (GUILayout.Button(nod.ID + " " + nod.nodeID))
                    {
                        nod.nieghbours.Remove(anim);
                        anim.nieghbours.Remove(nod);
                    }
                }
                EditorGUILayout.LabelField("Nodes in map");
                if (nodes == null)
                {
                    s_ninjaloader nin = GameObject.Find("General").GetComponent <s_ninjaloader>();
                    s_ninjaloader.nl = nin;
                    nodes            = nin.GetNodes();
                }
                else
                {
                    for (int i = 0; i < nodes.Count; i++)
                    {
                        s_map.s_tileobj nod = nodes[i];
                        if (nod.TYPENAME != "Node")
                        {
                            continue;
                        }
                        if (i == anim.nodeID)
                        {
                            continue;
                        }
                        if (anim.nieghbours != null)
                        {
                            if (anim.nieghbours.Find(x => x.nodeID == i))
                            {
                                continue;
                            }
                        }
                        if (GUILayout.Button(i + ""))
                        {
                            o_nodeobj nud = s_ninjaloader.nl.GetNode(i);
                            anim.nieghbours.Add(nud);
                            nud.nieghbours.Add(anim);
                        }
                    }
                }
            }
        }
        Repaint();
    }
コード例 #5
0
 private new void OnGUI()
 {
     ed = GameObject.Find("General").GetComponent <s_ninjaloader>();
     base.OnGUI();
 }
コード例 #6
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        GameObject obj = Selection.activeGameObject;

        if (obj != null)
        {
            npc_guard anim = obj.GetComponent <npc_guard>();
            if (anim != null)
            {
                anim.ID      = EditorGUILayout.TextField(anim.ID);
                anim.faction = EditorGUILayout.TextField(anim.faction);
                EditorGUILayout.LabelField("Teleport location");
                anim.teleportLoc = EditorGUILayout.TextField(anim.teleportLoc);
                anim.marchPoint  = EditorGUILayout.IntField(anim.marchPoint);

                EditorGUILayout.LabelField("Pathfinding");
                if (anim.path != null)
                {
                    for (int i = 0; i < anim.path.Count; i++)
                    {
                        EditorGUILayout.LabelField(anim.path[i].id + "");
                    }
                }
                EditorGUILayout.LabelField("Path to follow");
                for (int i = 0; i < anim.marchDirection.Count; i++)
                {
                    int nod = anim.marchDirection[i];
                    if (GUILayout.Button("ID: " + nod))
                    {
                        anim.marchDirection.Remove(nod);
                    }
                }
                EditorGUILayout.LabelField("Nodes in map");
                if (nodes == null)
                {
                    s_ninjaloader nin = GameObject.Find("General").GetComponent <s_ninjaloader>();
                    s_ninjaloader.nl = nin;
                    nodes            = nin.GetNodes();
                }
                else
                {
                    for (int i = 0; i < nodes.Count; i++)
                    {
                        s_map.s_tileobj nod = nodes[i];
                        if (nod.TYPENAME != "Node")
                        {
                            continue;
                        }

                        if (GUILayout.Button(i + ""))
                        {
                            anim.marchDirection.Add(i);
                        }
                    }
                }
                EditorGUILayout.LabelField("Targets");
                if (anim.targets != null)
                {
                    for (int i = 0; i < anim.targets.Count; i++)
                    {
                        EditorGUILayout.LabelField(anim.targets[i].name + "");
                    }
                }
            }
        }
        Repaint();
    }