Mercurial > projects > openmelee
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; |