BGE PyAPI support for subclassing any BGE game type from python, scripters define extra functions on gameObjects.

Adding a UI to set the type on startup can be added easily.

# ----
class myPlayer(GameTypes.KX_GameObject):
  def die(self):
    # ... do stuff ...
    self.endObject()

# make an instance
player = myPlayer(gameOb) # gameOb is made invalid now.
player.die()

# ----

One limitation (which could also be an advantage), is making the subclass instance will return that subclass everywhere, you cant have 2 different subclasses of the same BGE data at once.
This commit is contained in:
2009-06-29 12:06:46 +00:00
parent 7ca31bb171
commit 9a7ea9664e
71 changed files with 358 additions and 434 deletions

View File

@@ -311,16 +311,15 @@ PyTypeObject SCA_MouseSensor::Type = {
0,
0,
py_base_repr,
0,0,0,0,0,0,
NULL, //py_base_getattro,
NULL, //py_base_setattro,
0,
0,0,0,0,0,0,0,0,0,
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
0,0,0,0,0,0,0,
Methods,
0,
0,
&SCA_ISensor::Type
&SCA_ISensor::Type,
0,0,0,0,0,0,
py_base_new
};
PyMethodDef SCA_MouseSensor::Methods[] = {