Example #1
0
        private static void AddNewInst(string map, string room, InstDef def)
        {
            if (def.id == 0)
            {
                def.id = unusedIDs.Dequeue();
            }
            if (def.inst == "")
            {
                def.inst = $"inst{GetNewInst(map, room)}";
            }
            def.map  = map;
            def.room = room;

            InstDef.All.Add(def);
            Randomizer.Maps[map][room][def.inst] = def.ToJSONObject();

            Debug.WriteLine($"Adding inst to {map} - {room}:");
            Debug.WriteLine(def.ToString("--"));
        }
Example #2
0
        private static void AddTile(string map, string room, string spr, int i, int j)
        {
            InstDef newDef = new InstDef();

            newDef.obj   = "obj_tile";
            newDef.spr   = spr;
            newDef.layer = "player";

            newDef.i = i;
            newDef.j = j;

            newDef.image_xscale = 1;
            newDef.image_yscale = 1;
            newDef.image_angle  = 0;
            newDef.direction    = 0;

            newDef.randomizer_new = true;

            AddNewInst(map, room, newDef);
        }
        private static void InitAll()
        {
            pAll = new List <InstDef>();

            foreach (string mkey in Randomizer.Maps.Keys)
            {
                JSONNode map_data = Randomizer.Maps[mkey];
                foreach (string rkey in map_data.Keys)
                {
                    {
                        string[] skipped_keys = new[] {
                            "default_room",
                            //map3 weird stuff
                            "diffY",
                            "posY",
                            "touch",
                            "guistartposY",
                            "rawdiffX",
                            "viewstartposY",
                            "guiposY",
                            "rawposY",
                            "guidiffX",
                            "rawstartposX",
                            "guistartposX",
                            "posX",
                            "diffX",
                            "rawdiffY",
                            "viewstartposX",
                            "guidiffY",
                            "gesture",
                            "rawposX",
                            "guiposX",
                            "rawstartposY",
                        };
                        if (skipped_keys.Contains(rkey))
                        {
                            continue;
                        }
                    }

                    JSONNode room_data = map_data[rkey];
                    foreach (string ikey in room_data.Keys)
                    {
                        {
                            string[] skipped_keys = new[] {
                                "downopen",
                                "upopen",
                                "rightopen",
                                "leftopen",
                                "doors",
                                "quest",
                                //Elevator triggers?
                                "maptarget",
                                "roomtarget_x",
                                "roomtarget_y",
                            };

                            if (skipped_keys.Contains(ikey))
                            {
                                continue;
                            }
                        }

                        InstDef item = new InstDef(mkey, rkey, ikey, room_data[ikey]);
                        pAll.Add(item);
                    }
                }
            }
        }