78253ce28475c38f06383d9ca83112737077aed5
Do not call SkipDoneActivities method recursively via the NextActivity property. Rather use the nextActivity member. Avoiding additional function calls and a recursively growing stack. Do not call ChildActivity and NextActivity properties twice in a row. Once to test for null and after to access it's value. It will cause the complete list of activities to be traversed twice looking for non done activities. Replace Queue method with a version that does not the NextActivity property causing an extra call to SkipDoneActivities. Avoid calling Queue recursively. Similar replace QueueChild with a version that does not call additional methods. Note that ActivitiesImplementing returns only non done activities. The method name does not suggest this. Please consider making NextActivity a method to cleary indicate it involves the logic of skipping Done activities. To let the called know it is 'expensive'. Please consider renaming the protected property ChildActivity to FirstChildActivityNotDone to avoid it being used as childActivity. Please consider maintaining a pointer to the first non done activity. This avoids the need the each time find it.
…
OpenRA
A Libre/Free Real Time Strategy game engine supporting early Westwood classics.
- Website: http://www.openra.net
- IRC: #openra on irc.freenode.net
- Repository: https://github.com/OpenRA/OpenRA
Please read the FAQ in our Wiki and report problems at http://bugs.openra.net.
Join the Forums for discussion.
Play
Distributed mods include a reimagining of
- Command & Conquer: Red Alert
- Command & Conquer: Tiberian Dawn
- Dune 2000
EA has not endorsed and does not support this product.
Check our Playing the Game Guide to win multiplayer matches.
Contribute
- Please read INSTALL.md and Compiling on how to set up an OpenRA development environment.
- See Hacking for a (now very outdated) overview of the engine.
- Read and follow our Code of Conduct.
- To get your patches merged, please adhere to the Contributing guidelines.
Mapping
- We offer a Mapping Tutorial as you can change gameplay drastically with custom rules.
- For scripted mission have a look at the Lua API.
- If you want to share your maps with the community, upload them at the OpenRA Resource Center.
Modding
- Download a copy of the OpenRA Mod SDK to start your own mod.
- Check the Modding Guide to create your own classic RTS.
- There exists an auto-generated Trait documentation to get started with yaml files.
- Some hints on how to create new OpenRA compatible Pixelart.
- Upload total conversions at our ModDB profile.
Support
- Sponsor a mirror server if you have some bandwidth to spare.
- You can immediately set up a Dedicated Game Server.
License
Copyright 2007-2020 The OpenRA Developers (see AUTHORS) This file is part of OpenRA, which is free software. It is made available to you under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. For more information, see COPYING.
Description
Languages
C#
79.3%
Lua
16%
Fluent
3.1%
Shell
0.6%
Objective-C
0.2%
Other
0.5%