Ajout du schéma JSON pour lecture de scènes + ajout des composants son avec OpenAL + composants scripts et libraire de script + ajout de librairies pour le son dr_libs et openAL + librairie schéma json validator + correctifs divers d'oubli et autres + entity et components factory fonctionnelles + rework API graphique et systèmes mergés dans Systèmes (audio physique, etc...) + rework sauvegarde des resources de façon unique pour éviter les reload (correctifs associés)
This commit is contained in:
+19
-28
@@ -2,12 +2,12 @@
|
||||
"$schema": "https://json-schema.org/draft-07/schema#",
|
||||
"title": "SceneDescription",
|
||||
"type": "object",
|
||||
"ID": 100,
|
||||
"properties": {
|
||||
"name": { "type": "string", "ID": 101},
|
||||
"description": { "type": "string", "ID": 102},
|
||||
"entities": {
|
||||
"type": "array",
|
||||
"ID": 103,
|
||||
"items": { "$ref": "#/definitions/Entity" }
|
||||
}
|
||||
},
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
"Entity": {
|
||||
"type": "object",
|
||||
"ID": 200,
|
||||
"properties": {
|
||||
"entityref": { "type": "integer", "ID": 201 },
|
||||
"parent": { "type": ["integer", "null"] , "ID": 202},
|
||||
@@ -27,26 +26,24 @@
|
||||
"ID": 205,
|
||||
"items": { "type": "integer" }
|
||||
},
|
||||
"components": { "$ref": "#/definitions/Components" }
|
||||
"components": { "ID": 206, "$ref": "#/definitions/Components" }
|
||||
},
|
||||
"required": ["entityref", "name", "components"]
|
||||
},
|
||||
|
||||
"Components": {
|
||||
"type": "object",
|
||||
"ID": 300,
|
||||
"properties": {
|
||||
"transform": { "$ref": "#/definitions/Transform" },
|
||||
"renderer": { "$ref": "#/definitions/Renderer" },
|
||||
"camera": { "$ref": "#/definitions/Camera" },
|
||||
"collider": { "$ref": "#/definitions/Collider" },
|
||||
"rigidbody": { "$ref": "#/definitions/RigidBody" }
|
||||
"transform": { "ID": 2061, "$ref": "#/definitions/Transform" },
|
||||
"renderer": { "ID": 2062, "$ref": "#/definitions/Renderer" },
|
||||
"camera": { "ID": 2063, "$ref": "#/definitions/Camera" },
|
||||
"collider": { "ID": 2064, "$ref": "#/definitions/Collider" },
|
||||
"rigidbody": { "ID": 2065, "$ref": "#/definitions/RigidBody" }
|
||||
}
|
||||
},
|
||||
|
||||
"Vec3": {
|
||||
"type": "array",
|
||||
"ID": 401,
|
||||
"items": { "type": "number" },
|
||||
"minItems": 3,
|
||||
"maxItems": 3
|
||||
@@ -54,7 +51,6 @@
|
||||
|
||||
"Vec4": {
|
||||
"type": "array",
|
||||
"ID": 402,
|
||||
"items": { "type": "number" },
|
||||
"minItems": 4,
|
||||
"maxItems": 4
|
||||
@@ -62,29 +58,26 @@
|
||||
|
||||
"Transform": {
|
||||
"type": "object",
|
||||
"ID": 301,
|
||||
"properties": {
|
||||
"position": { "$ref": "#/definitions/Vec3" },
|
||||
"rotation": { "$ref": "#/definitions/Vec3" },
|
||||
"scale": { "$ref": "#/definitions/Vec3" }
|
||||
"position": { "ID": 3011, "$ref": "#/definitions/Vec3" },
|
||||
"rotation": { "ID": 3012, "$ref": "#/definitions/Vec3" },
|
||||
"scale": { "ID": 3013, "$ref": "#/definitions/Vec3" }
|
||||
},
|
||||
"required": ["position", "rotation", "scale"]
|
||||
},
|
||||
|
||||
"Renderer": {
|
||||
"type": "object",
|
||||
"ID": 302,
|
||||
"type": ["object", "null"],
|
||||
"properties": {
|
||||
"model": { "type": "string", "ID": 3021 },
|
||||
"model": { "type": ["string", "null"], "ID": 3021 },
|
||||
"shader": { "type": "string", "ID": 3022 },
|
||||
"albedo": { "type": "string", "ID": 3023 }
|
||||
"albedo": { "type": ["string", "null"], "ID": 3023 }
|
||||
},
|
||||
"required": ["model", "shader"]
|
||||
},
|
||||
|
||||
"Camera": {
|
||||
"type": "object",
|
||||
"ID": 303,
|
||||
"type": ["object", "null"],
|
||||
"properties": {
|
||||
"fov": { "type": "number", "minimum": 1, "maximum": 179, "ID": 3031 },
|
||||
"near": { "type": "number", "minimum": 0.001, "ID": 3032 },
|
||||
@@ -94,17 +87,16 @@
|
||||
},
|
||||
|
||||
"Collider": {
|
||||
"type": "object",
|
||||
"ID": 304,
|
||||
"type": ["object", "null"],
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"ID": 3041,
|
||||
"enum": ["Box", "Sphere", "Capsule", "ConvexHull", "Mesh", "Compound"]
|
||||
},
|
||||
"size": { "$ref": "#/definitions/Vec3" },
|
||||
"radius": { "type": "number", "minimum": 0, "ID": 3042 },
|
||||
"halfHeight": { "type": "number", "minimum": 0, "ID": 3043 }
|
||||
"size": { "$ref": "#/definitions/Vec3", "ID": 3042 },
|
||||
"radius": { "type": "number", "minimum": 0, "ID": 3043 },
|
||||
"halfHeight": { "type": "number", "minimum": 0, "ID": 3044 }
|
||||
},
|
||||
"required": ["type"],
|
||||
"allOf": [
|
||||
@@ -124,8 +116,7 @@
|
||||
},
|
||||
|
||||
"RigidBody": {
|
||||
"type": "object",
|
||||
"ID": 305,
|
||||
"type": ["object", "null"],
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
|
||||
Reference in New Issue
Block a user