Add HSchool.Content project for JSONC definitions, catalog, and map validation. Update solution structure to include new content and tests projects. Enhance school management to support mod packs and map instances, ensuring proper loading and validation. Revise documentation to reflect these changes and update tests for new functionality.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
{ "defName": "Sit" }
|
||||
@@ -0,0 +1 @@
|
||||
{ "defName": "MainBuilding" }
|
||||
@@ -0,0 +1 @@
|
||||
{ "defName": "StandardFloor" }
|
||||
@@ -0,0 +1 @@
|
||||
{ "defName": "Principal" }
|
||||
@@ -0,0 +1,2 @@
|
||||
// Empty on purpose: a corridor is a walkable room with no furniture of its own.
|
||||
{ "defName": "Corridor" }
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"defName": "PrincipalsOffice",
|
||||
"slots": [
|
||||
{ "key": "directorChair", "thing": "DirectorsChair" },
|
||||
{ "key": "desk", "thing": "Desk" },
|
||||
{ "key": "guestChair", "thing": "Chair", "count": 2 },
|
||||
],
|
||||
"positions": ["Principal"],
|
||||
"works": ["PrincipalOfficeWork", "TeachLesson", "WalkSchool"],
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "defName": "SchoolYard" }
|
||||
@@ -0,0 +1 @@
|
||||
{ "defName": "Chair", "actions": ["Sit"] }
|
||||
@@ -0,0 +1 @@
|
||||
{ "defName": "Desk" }
|
||||
@@ -0,0 +1 @@
|
||||
{ "defName": "DirectorsChair", "parent": "Chair" }
|
||||
@@ -0,0 +1,5 @@
|
||||
[
|
||||
{ "defName": "PrincipalOfficeWork" },
|
||||
{ "defName": "TeachLesson" },
|
||||
{ "defName": "WalkSchool" },
|
||||
]
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"Sit": "Sit",
|
||||
"Chair": "Chair",
|
||||
"DirectorsChair": "Principal's chair",
|
||||
"Desk": "Desk",
|
||||
"Principal": "Principal",
|
||||
"PrincipalOfficeWork": "Principal's work",
|
||||
"TeachLesson": "Teach a lesson",
|
||||
"WalkSchool": "Walk the school",
|
||||
"SchoolYard": "Yard",
|
||||
"MainBuilding": "Main building",
|
||||
"StandardFloor": "Floor",
|
||||
"Corridor": "Corridor",
|
||||
"PrincipalsOffice": "Principal's office",
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"Sit": "Сесть",
|
||||
"Chair": "Стул",
|
||||
"DirectorsChair": "Кресло директора",
|
||||
"Desk": "Стол",
|
||||
"Principal": "Директор",
|
||||
"PrincipalOfficeWork": "Работа директора",
|
||||
"TeachLesson": "Урок",
|
||||
"WalkSchool": "Обход школы",
|
||||
"SchoolYard": "Двор",
|
||||
"MainBuilding": "Главный корпус",
|
||||
"StandardFloor": "Этажи",
|
||||
"Corridor": "Коридор",
|
||||
"PrincipalsOffice": "Кабинет директора",
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
// Walkable yard is the tree root and a graph node. Rooms reach it through the porch/corridor.
|
||||
"territory": { "id": "yard", "def": "SchoolYard" },
|
||||
"buildings": [
|
||||
{ "id": "main", "def": "MainBuilding" },
|
||||
],
|
||||
"floors": [
|
||||
{ "id": "floor-1", "def": "StandardFloor", "building": "main", "label": "1" },
|
||||
],
|
||||
"rooms": [
|
||||
{
|
||||
"id": "corridor-1",
|
||||
"def": "Corridor",
|
||||
"building": "main",
|
||||
"floor": "floor-1",
|
||||
},
|
||||
{
|
||||
"id": "principals-office",
|
||||
"def": "PrincipalsOffice",
|
||||
"building": "main",
|
||||
"floor": "floor-1",
|
||||
"slots": [
|
||||
{ "key": "directorChair", "thing": "DirectorsChair" },
|
||||
{ "key": "desk", "thing": "Desk" },
|
||||
{ "key": "guestChair", "thing": "Chair" },
|
||||
],
|
||||
},
|
||||
],
|
||||
"links": [
|
||||
{ "a": "yard", "b": "corridor-1" },
|
||||
{ "a": "corridor-1", "b": "principals-office" },
|
||||
],
|
||||
}
|
||||
Reference in New Issue
Block a user