1 /**
2  * Copyright:       Copyright (C) 2018 Gabriel Gheorghe, All Rights Reserved
3  * Authors:         $(Gabriel Gheorghe)
4  * License:         $(LINK2 https://www.gnu.org/licenses/gpl-3.0.txt, GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007)
5  * Source:          $(LINK2 https://github.com/GabyForceQ/LibertyEngine/blob/master/source/liberty/physics/collider.d)
6  * Documentation:
7  * Coverage:
8 **/
9 module liberty.physics.collider;
10 
11 /**
12  *
13 **/
14 abstract class Collider {
15   private {
16     // setMass, getMass
17     float mass;
18     // setLayer, getLayer
19     ulong layer;
20     // setTriggered, getTriggered
21     bool triggered;
22     // setStatic, getStatic
23     bool static_;
24   }
25 
26   final Collider setMass(float value)   {
27     mass = value;
28     return this;
29   }
30 
31   final float getMass()   const {
32     return mass;
33   }
34 
35   final Collider setLayer(ulong value)   {
36     layer = value;
37     return this;
38   }
39 
40   final float getLayer()   const {
41     return layer;
42   }
43 
44   final Collider setTriggered(bool value)   {
45     triggered = value;
46     return this;
47   }
48 
49   final float getTriggered()   const {
50     return triggered;
51   }
52 
53   final Collider setStatic(bool value)   {
54     static_ = value;
55     return this;
56   }
57 
58   final float getStatic()   const {
59     return static_;
60   }
61 }