X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=examples%2Fbassteroids%2Fsource%2Fsetups.mgs;fp=examples%2Fbassteroids%2Fsource%2Fsetups.mgs;h=66ba9e3fd2184907ca41751f54d80c4d21cfad64;hb=239cd38de0ddbb5931151523530a5e7272e16f7f;hp=0000000000000000000000000000000000000000;hpb=548f5db5fb32e84c4b1128ac98a79403885ddadd;p=libs%2Fgame.git diff --git a/examples/bassteroids/source/setups.mgs b/examples/bassteroids/source/setups.mgs new file mode 100644 index 0000000..66ba9e3 --- /dev/null +++ b/examples/bassteroids/source/setups.mgs @@ -0,0 +1,74 @@ +import "msp/game/setups"; + +enum ColliderType +{ + value CIRCLE; + value BOX; +}; + +component Collider +{ + field type ColliderType { default "CIRCLE"; }; + field radius float { default "1.0f"; }; + field size vector2 { default "1.0f, 1.0f"; }; +}; + +component RigidBody +{ + field mass float { default "1.0f"; }; + field moment_of_inertia float { default "0.5f"; }; +}; + +entity Physical +{ + field fixture bool { default "false"; }; + field body RigidBody; + field collider Collider; +}; + +component HitPoints +{ + field max_hits uint { default "1"; }; + field vulnerable_to uint { default "~0U"; }; +}; + +component DamageSource +{ + field amount uint { default "1"; }; + field type uint { default "0"; }; +}; + +entity Hittable +{ + field immortal bool { default "false"; }; + field damaging bool { default "false"; }; + field hits HitPoints; + field damage DamageSource; +}; + +entity Playfield +{ + field size vector2; +}; + +entity Ship +{ + field physical Physical; + field mesh MeshSource; + field speed float; + field turn_rate float; +}; + +entity Bullet +{ + field physical Physical; + field hittable Hittable; + field mesh MeshSource; +}; + +entity Asteroid +{ + field physical Physical; + field hittable Hittable; + field mesh MeshSource; +};