RoosterDragon e6e98d3aa2 Cache self.ToLuaValue in ScriptTriggers.
When making an Lua function call, any LuaCustomClrObject must be introspected via reflection in order to determine what to expose in Lua code. In OpenRA, we use these for any types that implement IScriptBindable, such as Actor.

Previously, we would need to pay the cost of this reflection for every individual Lua call an Actor used in its ScriptTriggers trait where it passed `self` as a parameter. This would be repeated every time. For performance, we now cache self.ToLuaValue in the trait and use that for all calls so we only pay the reflection cost once on trait construction. This removes a significant overhead in the Lua bridging code.
2015-11-12 22:18:19 +00:00
2015-09-29 20:47:36 +02:00
2015-06-08 19:09:32 +02:00
2015-07-05 19:07:42 +02:00
2014-12-26 21:45:08 +01:00
2014-11-15 10:43:51 +01:00
2015-11-06 19:27:01 +01:00
2015-06-14 07:25:41 +02:00
2015-03-19 17:20:34 +00:00

OpenRA

A Libre/Free Real Time Strategy game engine supporting early Westwood classics.

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

Check our Playing the Game Guide to win multiplayer matches.

Contribute

Bountysource

  • Please read INSTALL.md and Compiling on how to set up an OpenRA development environment.
  • See Hacking for an overview of the engine.
  • To get your patches merged, please adhere to the Contributing guidelines.

Issue Stats Issue Stats

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

Support

  • Sponsor a mirror server if you have some bandwidth to spare.
  • You can immediately set up a Dedicated Game Server.
  • Fund development by creating Bounties on specific tasks.

License

Copyright 2007-2015 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. For more information, see COPYING.

Description
No description provided
Readme 234 MiB
Languages
C# 79.3%
Lua 16%
Fluent 3.1%
Shell 0.6%
Objective-C 0.2%
Other 0.5%