Changeset 575
- Timestamp:
- 05/25/08 07:33:24 (8 months ago)
- Files:
-
- trunk/src/defend/game/Game.d (modified) (2 diffs)
- trunk/src/defend/game/hud/Mouse.d (modified) (1 diff)
- trunk/src/defend/sim/Core.d (modified) (3 diffs)
- trunk/src/defend/sim/obj/Citizen.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/defend/game/Game.d
r574 r575 127 127 info.seed); 128 128 129 // Initialize graphics130 graphics = new Graphics;131 graphics.init(gameObjects);132 133 129 // Call the requested map generators 134 130 logger.info("generating map"); … … 263 259 logger.info("communication process finished"); 264 260 261 // Initialize graphics 262 graphics = new Graphics; 263 graphics.init(gameObjects); 264 265 265 // Move the camera to the first object we find 266 266 foreach(object; gameObjects) trunk/src/defend/game/hud/Mouse.d
r570 r575 379 379 { 380 380 gameObjects.order(gameObjects.gateway, selection, 381 OrderObjectRightClick(target.id)); 381 OrderObjectRightClick(target.id), 382 383 (OrderError error, GameObject[] objects) 384 { 385 // fallback to map right click 386 if(error == OrderError.Ignored) 387 { 388 gameObjects.order(gameObjects.gateway, objects, 389 OrderMapRightClick(mapPos.x, mapPos.y)); 390 } 391 }); 382 392 } 383 393 } trunk/src/defend/sim/Core.d
r573 r575 1251 1251 1252 1252 // Send an order 1253 void order(T)(Gateway gateway, GameObject[] objects, T order) 1253 void order(T)(Gateway gateway, GameObject[] objects, T order, 1254 void delegate(OrderError, GameObject[]) errorCallback = null) 1254 1255 { 1255 1256 if(objects.length > MAX_ORDERED_OBJECTS) … … 1268 1269 assert(slice.length); 1269 1270 1270 if(slice[0].typeInfo.checkOrder(slice, &order) == OrderError.Okay) 1271 auto error = slice[0].typeInfo.checkOrder(slice, &order); 1272 1273 if(error == OrderError.Okay) 1271 1274 { 1272 1275 foreach(object; slice) … … 1275 1278 else 1276 1279 { 1277 // TODO: Emit a signal telling that the order isn't valid 1278 logger.trace("invalid order (T = {}), not sending", T.stringof); 1280 if(errorCallback) 1281 { 1282 errorCallback(error, slice); 1283 } 1284 else 1285 { 1286 // TODO: Emit a signal telling that the order isn't valid 1287 logger.trace("invalid order (T = {}), not sending", T.stringof); 1288 } 1279 1289 } 1280 1290 }); trunk/src/defend/sim/obj/Citizen.d
r572 r575 60 60 return OrderError.Okay; 61 61 62 return OrderError. Error;62 return OrderError.Ignored; 63 63 } 64 64
