comparison ai/human.d @ 27:d63faa81a5e4

removed Dog, added derelict and glfw
author zzzzrrr <mason.green@gmail.com>
date Mon, 30 Mar 2009 12:41:29 -0400
parents 88cca12cc8b9
children
comparison
equal deleted inserted replaced
26:88cca12cc8b9 27:d63faa81a5e4
28 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 28 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */ 30 */
31 module openmelee.ai.human; 31 module openmelee.ai.human;
32 32
33 import xf.hybrid.Event; 33 import openmelee.ships.ship : Ship;
34 import xf.input.KeySym;
35
36 import openmelee.ships.ship;
37 import openmelee.melee.melee : Melee; 34 import openmelee.melee.melee : Melee;
35 import openmelee.glfw.glfw;
38 36
39 class Human 37 class Human
40 { 38 {
41 Melee melee; 39 Melee melee;
42 Ship ship; 40 Ship ship;
44 this(Ship ship, Melee melee) { 42 this(Ship ship, Melee melee) {
45 this.melee = melee; 43 this.melee = melee;
46 this.ship = ship; 44 this.ship = ship;
47 } 45 }
48 46
49 EventHandling onClick(MouseButtonEvent e) { 47 void onKey(int key, int state) {
50 return EventHandling.Stop;
51 }
52
53 EventHandling onKey(KeyboardEvent e) {
54 // Key pressed 48 // Key pressed
55 if (e.down) { 49 if (state == 257 || state == 1) {
56 switch (e.keySym) { 50 switch (key) {
57 case KeySym.space: 51 case GLFW_KEY_SPACE:
58 drawAABBs = !drawAABBs; 52 drawAABBs = !drawAABBs;
59 break; 53 break;
60 case KeySym.Escape: 54 case GLFW_KEY_ESC:
61 quit = true; 55 quit = true;
62 break; 56 break;
63 case KeySym.Up: 57 case GLFW_KEY_UP:
64 thrust = true; 58 thrust = true;
65 break; 59 break;
66 case KeySym.Left: 60 case GLFW_KEY_LEFT:
67 ship.turnLeft(); 61 ship.turnLeft();
68 break; 62 break;
69 case KeySym.Right: 63 case GLFW_KEY_RIGHT:
70 ship.turnRight(); 64 ship.turnRight();
71 break; 65 break;
72 case KeySym.Down: 66 case GLFW_KEY_DOWN:
73 break; 67 break;
74 case KeySym.Delete: 68 case GLFW_KEY_DEL:
75 melee.ship2.explode(); 69 melee.ship2.explode();
76 melee.objectList.remove(melee.ship2); 70 melee.objectList.remove(melee.ship2);
77 melee.world.destroyBody(melee.ship2.rBody); 71 melee.world.destroyBody(melee.ship2.rBody);
78 melee.ship2 = null; 72 melee.ship2 = null;
79 melee.draw.ship2 = null; 73 melee.render.ship2 = null;
80 melee.ai.ship = null; 74 melee.ai.ship = null;
81 default: 75 default:
82 break; 76 break;
83 } 77 }
84 // Key released 78 // Key released
85 } else { 79 } else {
86 if(e.keySym == KeySym.Up) { 80 if(key == GLFW_KEY_UP) {
87 thrust = false; 81 thrust = false;
88 } else if (e.keySym == KeySym.Left || e.keySym == KeySym.Right) { 82 } else if (key == GLFW_KEY_LEFT || key == GLFW_KEY_RIGHT) {
89 ship.rBody.angularVelocity = 0.0f; 83 ship.rBody.angularVelocity = 0.0f;
90 } 84 }
91 } 85 }
92 return EventHandling.Stop;
93 }
94
95 // Mouse move
96 EventHandling onMove(MouseMoveEvent e) {
97 return EventHandling.Stop;
98 }
99
100 EventHandling onDT(TimeUpdateEvent e){
101 return EventHandling.Continue;
102 }
103
104 EventHandling onMouseEnter(MouseEnterEvent e) {
105 return EventHandling.Continue;
106 }
107
108 EventHandling onMouseLeave(MouseLeaveEvent e) {
109 return EventHandling.Continue;
110 } 86 }
111 87
112 bool quit; 88 bool quit;
113 bool thrust; 89 bool thrust;
114 bool drawAABBs; 90 bool drawAABBs;