Alistair Riddoch
79c65603aa
Use insert instead of []
2013-03-03 23:37:30 +00:00
Alistair Riddoch
745d263709
Fail cleanly if a type exists
...
The code would segfault if installing a new entity class failed at the last
stage in Inheritance. Inheritance would return null, which would be assigned
to the factory's m_type. addProperties() assumes the pointer is not null.
This fix adds a check, and reports a failure undoing the whole process.
2013-02-21 21:53:11 +00:00
Alistair Riddoch
3d6f39cdee
Modify Property install method to take name
...
This change also switches DecaysProperty to using delegates as a proof of
concept.
2013-02-13 00:45:36 +00:00
Alistair Riddoch
17b9631aa1
Remove some old debug output
2013-01-22 08:32:42 +00:00
Alistair Riddoch
e4755475ac
Remove unneeded Entity.h include
2013-01-18 19:43:53 +00:00
Alistair Riddoch
4a9c7078f7
Refactor to use LocatedEntity as base class
...
All IG code should use the interface of LocatedEntity when dealing
with any entity, rather than sometimes requiring Entity. Add virtual
functions to the interface where required, and modify all other interfaces
to stop them using Entity. This makes the code way cleaner, and much better
de-coupled.
2013-01-17 10:17:07 +00:00
Alistair Riddoch
8649ee9137
Use "extern template" to reduce dependencies
2012-12-14 18:40:51 +00:00
Alistair Riddoch
2b26bdf9ca
These don't need consts any more
2011-12-20 15:49:18 +00:00
Alistair Riddoch
73ae410683
This class doesn't need Property
2011-12-20 15:46:07 +00:00
Alistair Riddoch
354a358e38
This class no longer needs to know about Task
2011-12-20 15:42:27 +00:00
Alistair Riddoch
bf27269cfe
Remove legacy code from before all Tasks had scripts
2011-12-20 15:41:08 +00:00
Alistair Riddoch
306fc5533c
Remove dependence on concrete script factory
2011-12-20 15:40:13 +00:00
Alistair Riddoch
15391164a6
Remove dependence on concrete factory
2011-12-20 15:33:31 +00:00
Alistair Riddoch
8fb4a30bde
Simplify base types vs rule types
...
This is the second step in cleaning up a rather messy call path
which was different when installing the classes a game actually uses
from the data files from the base rules that are common to all.
2011-12-18 03:48:30 +00:00
Alistair Riddoch
577539aa6e
Make installing types a little more consistent
2011-12-17 18:37:28 +00:00
Alistair Riddoch
74fb3d2ce9
Merge branch 'master' of github.com:worldforge/cyphesis
2011-12-15 18:27:33 +00:00
Alistair Riddoch
1f4b7bf1b9
Move PythonScriptFactory into the correct named file in the right place
2011-12-15 18:26:37 +00:00
Alistair Riddoch
0bc46a38be
Remove header coupleying to ScriptFactory
2011-12-15 14:03:56 +00:00
Alistair Riddoch
9b26e6e04a
Remove unused include
2011-12-15 01:03:00 +00:00
Alistair Riddoch
8b9cd49dfd
Strip out unused populate() method from EntityFactory
2011-12-13 11:50:46 +00:00
Alistair Riddoch
e47076482c
Remove obsolete method
2011-12-11 05:26:37 +00:00
Alistair Riddoch
68bd0c6e25
Refactor TaskFactory for more flexible activation matching
...
We can now match the target based on different critea by configuring the
factory to do different checks
2011-12-06 10:07:25 +00:00
Alistair Riddoch
eb9c58c153
Refactor the task setup interface to use LocatedEntity
2011-12-02 23:42:24 +00:00
Alistair Riddoch
a516f55197
Remove TaskScript subclass
...
This class really wasn't used. Task had pure virtual methods, and TaskScript
was the only subclass
2011-11-03 22:57:46 +00:00
Alistair Riddoch
d3eb9d40f2
Ensure all factories get deleted
...
EntityBuilder wasn't deleting the collection of factories it owns at shutdown
2011-09-30 22:25:05 +01:00
Alistair Riddoch
e0c92ebf39
Remove reference to BaseWorld in EntityBuilder
2011-09-21 12:45:18 +01:00
Alistair Riddoch
07201f1358
Handle Inheritance more consistently
...
Add an internal method for base classes, allowing the code that manipulates
the inheritance tree to be in a consistent place.
2011-09-18 17:26:26 +01:00
Alistair Riddoch
a0ce1a247d
Re-order how an Entity is put together so that location is valid when properties are assigned
2010-09-12 19:09:25 +01:00
Alistair Riddoch
d52550a9e3
Rename Monitor class tree to Variable for clarity.
2009-09-03 00:38:50 +01:00
Alistair Riddoch
958babd997
Add new Variable files to the build, remove copied code, and fix up includes.
2009-09-03 00:27:59 +01:00
Alistair Riddoch
6bb02f6e64
Remove obsolete includes and types.
2009-08-22 02:35:56 +01:00
Alistair Riddoch
69e8de9b30
Remove unused static functions for updaing entity factories.
2009-08-20 23:25:57 +01:00
Alistair Riddoch
5c4d02395e
Remove Python code TaskFactory, and use task script factory instead.
2009-08-20 22:58:11 +01:00
Alistair Riddoch
6ced0026e5
Clean up includes and declarations in the recently split classes.
2009-08-19 10:22:34 +01:00
Alistair Riddoch
c952c1eddf
Remove some un-needed header.
2009-08-19 03:01:45 +01:00
Alistair Riddoch
208f553f04
Move the functionality for loading rule data, and configuring into Ruleset.
2009-08-19 02:47:15 +01:00
Alistair Riddoch
666fbd4a08
Update Script factory class names to use "kit" for abstract factory.
2009-08-18 11:14:23 +01:00
Alistair Riddoch
9fad4de0ad
Update factory names to use "kit" to mean abstract factory.
2009-08-18 11:03:31 +01:00
Alistair Riddoch
820c9a5930
Modify Task script to work more like entity script and remove case conversion.
2009-07-02 16:57:00 +01:00
Alistair Riddoch
591261ad70
Modify rules processing so tasks scripts are the same format as entity scripts.
2009-07-02 15:55:29 +01:00
Alistair Riddoch
ffd019a744
Correct the spelling of persistence.
2009-03-24 03:08:45 +00:00
Alistair Riddoch
376c2cb3b2
Rename file from PersistentThingFactory to EntityFactory to match class.
2009-03-22 15:30:23 +00:00
Alistair Riddoch
22c6474b0d
Rename ThingFactory to EntityFactory.
2009-03-22 15:18:10 +00:00
Alistair Riddoch
cd1f42c3f9
Rename Inheritance class files to match class name.
2009-03-20 15:31:38 +00:00
Al Riddoch
84c1a94412
Rename files for EntityBuilder from EntityFactory to match the class rename.
2009-03-12 00:50:25 +00:00