]> git.tdb.fi Git - libs/game.git/blob - examples/bassteroids/source/setups.mgs
Use the setup generator to create setup structs
[libs/game.git] / examples / bassteroids / source / setups.mgs
1 import "msp/game/setups";
2
3 enum ColliderType
4 {
5         value CIRCLE;
6         value BOX;
7 };
8
9 component Collider
10 {
11         field type ColliderType { default "CIRCLE"; };
12         field radius float { default "1.0f"; };
13         field size vector2 { default "1.0f, 1.0f"; };
14 };
15
16 component RigidBody
17 {
18         field mass float { default "1.0f"; };
19         field moment_of_inertia float { default "0.5f"; };
20 };
21
22 entity Physical
23 {
24         field fixture bool { default "false"; };
25         field body RigidBody;
26         field collider Collider;
27 };
28
29 component HitPoints
30 {
31         field max_hits uint { default "1"; };
32         field vulnerable_to uint { default "~0U"; };
33 };
34
35 component DamageSource
36 {
37         field amount uint { default "1"; };
38         field type uint { default "0"; };
39 };
40
41 entity Hittable
42 {
43         field immortal bool { default "false"; };
44         field damaging bool { default "false"; };
45         field hits HitPoints;
46         field damage DamageSource;
47 };
48
49 entity Playfield
50 {
51         field size vector2;
52 };
53
54 entity Ship
55 {
56         field physical Physical;
57         field mesh MeshSource;
58         field speed float;
59         field turn_rate float;
60 };
61
62 entity Bullet
63 {
64         field physical Physical;
65         field hittable Hittable;
66         field mesh MeshSource;
67 };
68
69 entity Asteroid
70 {
71         field physical Physical;
72         field hittable Hittable;
73         field mesh MeshSource;
74 };