public bool PreBuild(MapAsset asset) { if (asset.type != "util-room") { return(true); } // Check Collider Count if (asset.colliders.Length <= 0) { LILogger.LogWarn(asset.name + " does not have any colliders!"); return(false); } // Object GameObject obj = new GameObject(asset.name); // Collider PolygonCollider2D mainCollider = null; foreach (MapCollider collider in asset.colliders) { PolygonCollider2D polyCollider = obj.AddComponent <PolygonCollider2D>(); polyCollider.isTrigger = true; polyCollider.SetPath(0, collider.GetPoints()); mainCollider = polyCollider; } // Room PlainShipRoom room = obj.AddComponent <PlainShipRoom>(); room.RoomId = (SystemTypes)roomId; if (asset.colliders.Length > 0) { room.roomArea = mainCollider; } // Room DB if (!db.ContainsKey(asset.id)) { db.Add(asset.id, (SystemTypes)roomId); } // Text DB TextHandler.Add((SystemTypes)roomId, asset.name); // Polus polus.shipStatus.AllRooms = AssetHelper.AddToArr(polus.shipStatus.AllRooms, room); polus.shipStatus.FastRooms.Add((SystemTypes)roomId, room); MinimapGenerator.AddRoom(asset); polus.Add(obj, asset); roomId++; return(true); }
public void PreBuild(PolusShipStatus shipStatus) { // Load Map and AssetDB if (!AssetDB.Import()) { return; } if (!MapHandler.Load()) { return; } // Vars map = MapHandler.GetMap(); polus = new PolusHandler(shipStatus); builder = new AssetBuilder(polus); MinimapGenerator.Reset(); // Rooms LILogger.LogInfo("...Building Rooms"); for (int i = 0; i < map.objs.Length; i++) { if (map.objs[i].type != "util-room") { continue; } MapAsset asset = map.objs[i]; bool success = builder.PreBuild(asset); if (!success) { LILogger.LogError("Failed to build " + asset.name); } } // Objects LILogger.LogInfo("...Building Objects"); for (int i = 0; i < map.objs.Length; i++) { if (map.objs[i].type == "util-room") { continue; } MapAsset asset = map.objs[i]; bool success = builder.PreBuild(asset); if (!success) { LILogger.LogError("Failed to build " + asset.name); } else if (i % 100 == 0 && i != 0) { LILogger.LogInfo("..." + i + " Objects Built"); } } }