Commit Graph

95 Commits

Author SHA1 Message Date
Paul Chote
7d24053f52 Introduce Order.SuppressVisualFeedback to cleanly disable flashes. 2014-06-26 23:14:13 +12:00
ScottNZ
90894aa03e Use var everywhere 2014-06-15 22:17:34 +12:00
Paul Chote
d8e5177a36 Merge pull request #5405 from RoosterDragon/min-max
Added MinBy, MaxBy, etc.
2014-06-09 17:42:01 +12:00
Matthias Mailänder
3a1c41c8ce move pixel doubling and health bar hotkeys to shared widget
closes #5572
2014-06-07 12:26:58 +02:00
RoosterDragon
b733465f33 General uncontroversial cleanup:
- Made private methods static where possible (runtime can elide checking the object for null).
- Declared attribute classes as sealed (allows reflection on attributes to complete faster).
- Moved some static cctor's into field initializers (static cctor's are slower than static field initializers).
- Made classes static if they contained only static methods (can't create instances of useless objects).
- Use inferable Exts.Lazy and not new Lazy<T>().
- Added required STAThread attribute to CrashDialog.
- Removed unused parameters in private methods.
- Added Serializable attribute to exceptions.
- Added parameter name in calls to ArgumentNullException.
- Use of as operator instead of is + cast.
- Changed (x as Foo).Bar anti-pattern into ((Foo)x).Bar. Results in sensible cast exceptions on error rather than null dereferences.
- Removed unused method in NullShader.
2014-05-23 15:50:54 +01:00
RoosterDragon
0ea3509ee4 Added MinBy, MaxBy, MinByOrDefault and MaxByOrDefault methods and replaced calls of the style OrderBy[Descending]().First[OrDefault]() which is not as performant. 2014-05-23 08:23:42 +01:00
Paul Chote
4935266945 Merge FileFormats dll into Game and reorganise namespaces. 2014-04-17 01:20:47 +12:00
Paul Chote
a31cdec87a Move control group logic into its own logic class. 2014-03-22 22:32:41 +13:00
Pizzaoverhead
7be3078115 Adds selecting of all units matching the current type across the screen or map using Ctrl + T. 2014-02-20 21:59:23 +00:00
Matthias Mailänder
7d19e25627 don't crash on empty orders 2013-12-30 08:44:14 +01:00
Matthias Mailänder
08166c0a64 added a new hotkey to select all units on screen
closes #4182
2013-12-06 11:26:52 +01:00
ScottNZ
1394c1dcee Remove some misc redundancies 2013-11-12 19:39:39 +13:00
ScottNZ
fb4e1b4805 Fix FlashTarget crash 2013-11-11 23:49:00 +13:00
Paul Chote
a1f876b13c Use selection priority in double-click selection logic. Fixes #4053. 2013-11-09 16:39:30 +13:00
Matthias Mailänder
6f8e78761c StyleCop cleanup 2013-11-02 23:18:23 +01:00
Matthias Mailänder
21b7d0eadb loop all orders only once 2013-11-02 23:18:19 +01:00
Matthias Mailänder
6b0238a6cc don't stack flashes and filter non unit actor related orders 2013-11-02 18:29:54 +01:00
Matthias Mailänder
e0e3f1155a avoid additional layers of abstraction 2013-11-02 18:12:46 +01:00
Matthias Mailänder
be1ab707c5 separate TargetFlash from DrawLineToTarget 2013-11-02 18:03:55 +01:00
Matthias Mailänder
b1c3ac20bf brought back the MoveFlash
closes #2592
2013-11-02 18:03:49 +01:00
Paul Chote
7ffbfb9b7e Add a Hotkey class for user-configurable keys. Fixes #3779.
Users can now define and use hotkeys that include modifiers (ctrl/meta/shift/alt).
2013-10-22 09:14:05 +13:00
Paul Chote
aab6fec68b Remove VirtKey and KeyName. 2013-10-21 20:24:24 +13:00
Paul Chote
919181e04d Clean up viewport internals. 2013-10-05 21:01:22 +13:00
Paul Chote
0b560bfc6e Move more viewport lookups to WorldRenderer. 2013-10-05 21:01:21 +13:00
Paul Chote
f575c20d38 Route viewport centering via WorldRenderer. 2013-10-05 21:01:21 +13:00
Paul Chote
b100b4131c Remove PPos hacks from WorldInteractionController. 2013-09-27 15:41:32 +12:00
Paul Chote
0dc50c65f5 Remove unnecessary int2 -> PPos -> int2 conversions. 2013-09-27 15:41:32 +12:00
Paul Chote
dfd51c0caa Introduce ScreenMap trait for caching screen-coord queries. 2013-09-27 15:36:25 +12:00
Paul Chote
7c91d6976d Split keyboard and mouse focus.
Fixes #3304.
Fixes #2075.
Fixes C&C chat focus bug.
2013-07-27 21:02:52 +12:00
Paul Chote
27f04c1b78 Rename FindUnits -> FindActorsInBox. 2013-07-20 15:34:28 +12:00
Paul Chote
37c02fea79 Remove PPos overload of FindUnits. 2013-07-20 15:34:27 +12:00
Paul Chote
18cecf8a67 Disable pausing for spectators. Fixes #3340. 2013-07-06 11:31:43 +12:00
Paul Chote
c3c5321e1d Predict local pause state to avoid order lag. Fixes #3223. 2013-05-09 22:42:55 +12:00
Paul Chote
e545865599 Add Selectable field to Selectable.
There are a bunch of bogus assumptions about
targetable actors being selectable. These aren't
easily fixed, so this add a Selectable field that
can be diabled for things we want to target, but
not select.
2013-04-15 08:06:52 +12:00
Paul Chote
c428cad70c Refactor per-player shrouds & fix shellmap shroud. 2013-04-10 19:36:03 +12:00
Paul Chote
096d95f391 Fix bogus pause logic. 2013-04-07 23:38:52 +12:00
Matthias Mailänder
775b0409c4 don't hard-code the pause-key 2013-03-02 15:56:13 +01:00
Matthias Mailänder
1083f8cf55 double-tap 0-9: select and center the control group 2013-03-02 15:55:42 +01:00
Matthias Mailänder
c5313375f0 pull mouse button preference from global property 2013-01-18 10:57:41 +13:00
Matthias Mailänder
b356cca528 improve the classic mouse behaivor
- don't require to deselect units to change selection
- fix issue with broken building placement on right-click orders
- don't select enemy units when left-click attacking
- build palette won't interfere with unit orders anymore
2013-01-18 10:57:41 +13:00
Matthias Mailänder
d52394bb47 add classic left-click orders 2013-01-18 10:57:40 +13:00
Kenny
f41fb32d60 Introducing per-player shrouds.
- Each player has their own shroud and their visibility does not extend outside of the shroud. 
- Units and buildings can no longer target other units outside of their visibility. Buildings can still be targetted if they have been explored.
- GPS will provide visibility in the fog-of-war.
- Spies that infiltrate radar domes will gain their victim's exploration and reset it on all clients (if the victim does not have GPS)
2012-12-13 15:16:56 -08:00
James Dunne
9c49143534 New types for cell and pixel coordinate position/vectors. 2012-06-21 15:36:59 -05:00
Remco van der Zon
84124de79d Game can now be paused by pressing f3 as well. 2012-06-06 11:22:46 +02:00
Remco van der Zon
a07697be03 Pause the game option.
Game is paused when PAUSE on the keyboard has been hit. It can also be unpaused this way.
2012-05-16 17:35:10 +02:00
Chris Forbes
b6c2b928cb fixed #1249 - use unit priority logic to select initial unit in doubleclick 2011-11-04 08:46:14 +13:00
Chris Forbes
e7ed9a1ff7 tidy up select-all-on-screen 2011-10-22 11:30:09 +13:00
Chris Forbes
6010034b4a remove ObjectCreator.Param and all associated nonsense 2011-10-21 18:16:07 +13:00
Chris Forbes
bc6af1841b fix indents everywhere 2011-10-18 15:10:17 +13:00
Curtis S
9fdfca6ee5 Added MultiTap support 2011-10-07 09:54:35 +13:00