Ver Fonte

Added zone property for Drawables in the script API where applicable.
Removed the viewmask attribute from Zone as it is not currently used.

Lasse Öörni há 14 anos atrás
pai
commit
2b57762508
3 ficheiros alterados com 10 adições e 2 exclusões
  1. 5 0
      Docs/ScriptAPI.dox
  2. 5 1
      Engine/Engine/GraphicsAPI.cpp
  3. 0 1
      Engine/Graphics/Zone.cpp

+ 5 - 0
Docs/ScriptAPI.dox

@@ -1745,6 +1745,7 @@ Properties:<br>
 - BoundingBox& boundingBox (readonly)
 - uint numGeometries (readonly)
 - uint softwareLodLevel
+- Zone@ zone (readonly)
 
 
 Skybox
@@ -1784,6 +1785,7 @@ Properties:<br>
 - BoundingBox& boundingBox (readonly)
 - uint numGeometries (readonly)
 - uint softwareLodLevel
+- Zone@ zone (readonly)
 
 
 AnimationState
@@ -1858,6 +1860,7 @@ Properties:<br>
 - AnimationState@[] animationStates (readonly)
 - uint numMorphs (readonly)
 - float[] morphWeights
+- Zone@ zone (readonly)
 
 
 AnimationController
@@ -1959,6 +1962,7 @@ Properties:<br>
 - bool scaled
 - float animationLodBias
 - Billboard@[] billboards (readonly)
+- Zone@ zone (readonly)
 
 
 ParticleEmitter
@@ -1990,6 +1994,7 @@ Properties:<br>
 - XMLFile@ parameters
 - bool active (readonly)
 - uint numParticles (readonly)
+- Zone@ zone (readonly)
 
 
 RayQueryResult

+ 5 - 1
Engine/Engine/GraphicsAPI.cpp

@@ -526,6 +526,7 @@ static void RegisterStaticModel(asIScriptEngine* engine)
     engine->RegisterObjectMethod("StaticModel", "uint get_numGeometries() const", asMETHOD(StaticModel, GetNumGeometries), asCALL_THISCALL);
     engine->RegisterObjectMethod("StaticModel", "void set_softwareLodLevel(uint) const", asMETHOD(StaticModel, SetSoftwareLodLevel), asCALL_THISCALL);
     engine->RegisterObjectMethod("StaticModel", "uint get_softwareLodLevel() const", asMETHOD(StaticModel, GetSoftwareLodLevel), asCALL_THISCALL);
+    engine->RegisterObjectMethod("StaticModel", "Zone@+ get_zone() const", asMETHOD(StaticModel, GetZone), asCALL_THISCALL);
 }
 
 static void RegisterSkybox(asIScriptEngine* engine)
@@ -540,6 +541,7 @@ static void RegisterSkybox(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Skybox", "uint get_numGeometries() const", asMETHOD(Skybox, GetNumGeometries), asCALL_THISCALL);
     engine->RegisterObjectMethod("Skybox", "void set_softwareLodLevel(uint) const", asMETHOD(Skybox, SetSoftwareLodLevel), asCALL_THISCALL);
     engine->RegisterObjectMethod("Skybox", "uint get_softwareLodLevel() const", asMETHOD(Skybox, GetSoftwareLodLevel), asCALL_THISCALL);
+    engine->RegisterObjectMethod("Skybox", "Zone@+ get_zone() const", asMETHOD(StaticModel, GetZone), asCALL_THISCALL);
 }
 
 static void AnimatedModelSetModel(Model* model, AnimatedModel* ptr)
@@ -598,6 +600,7 @@ static void RegisterAnimatedModel(asIScriptEngine* engine)
     engine->RegisterObjectMethod("AnimatedModel", "uint get_numMorphs() const", asMETHOD(AnimatedModel, GetNumMorphs), asCALL_THISCALL);
     engine->RegisterObjectMethod("AnimatedModel", "void set_morphWeights(const String&in, float)", asMETHODPR(AnimatedModel, SetMorphWeight, (const String&, float), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("AnimatedModel", "float get_morphWeights(const String&in) const", asMETHODPR(AnimatedModel, GetMorphWeight, (const String&) const, float), asCALL_THISCALL);
+    engine->RegisterObjectMethod("AnimatedModel", "Zone@+ get_zone() const", asMETHOD(AnimatedModel, GetZone), asCALL_THISCALL);
 }
 
 static void RegisterAnimationController(asIScriptEngine* engine)
@@ -658,6 +661,7 @@ static void RegisterBillboardSet(asIScriptEngine* engine)
     engine->RegisterObjectMethod("BillboardSet", "void set_animationLodBias(float)", asMETHOD(BillboardSet, SetAnimationLodBias), asCALL_THISCALL);
     engine->RegisterObjectMethod("BillboardSet", "float get_animationLodBias() const", asMETHOD(BillboardSet, GetAnimationLodBias), asCALL_THISCALL);
     engine->RegisterObjectMethod("BillboardSet", "Billboard@+ get_billboards(uint)", asMETHOD(BillboardSet, GetBillboard), asCALL_THISCALL);
+    engine->RegisterObjectMethod("BillboardSet", "Zone@+ get_zone() const", asMETHOD(BillboardSet, GetZone), asCALL_THISCALL);
 }
 
 static void RegisterParticleEmitter(asIScriptEngine* engine)
@@ -678,9 +682,9 @@ static void RegisterParticleEmitter(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ParticleEmitter", "XMLFile@+ get_parameters() const", asMETHOD(ParticleEmitter, GetParameters), asCALL_THISCALL);
     engine->RegisterObjectMethod("ParticleEmitter", "bool get_active() const", asMETHOD(ParticleEmitter, IsActive), asCALL_THISCALL);
     engine->RegisterObjectMethod("ParticleEmitter", "uint get_numParticles() const", asMETHOD(ParticleEmitter, GetNumParticles), asCALL_THISCALL);
+    engine->RegisterObjectMethod("ParticleEmitter", "Zone@+ get_zone() const", asMETHOD(ParticleEmitter, GetZone), asCALL_THISCALL);
 }
 
-
 static CScriptArray* GraphicsGetResolutions(Graphics* ptr)
 {
     return VectorToArray<IntVector2>(ptr->GetResolutions(), "Array<IntVector2>");

+ 0 - 1
Engine/Graphics/Zone.cpp

@@ -62,7 +62,6 @@ void Zone::RegisterObject(Context* context)
     ATTRIBUTE(Zone, VAR_BOOL, "Is Visible", visible_, true, AM_DEFAULT);
     ATTRIBUTE(Zone, VAR_BOOL, "Override Mode", override_, 0, AM_DEFAULT);
     ATTRIBUTE(Zone, VAR_INT, "Priority", priority_, 0, AM_DEFAULT);
-    ATTRIBUTE(Zone, VAR_INT, "View Mask", viewMask_, DEFAULT_VIEWMASK, AM_DEFAULT);
     ATTRIBUTE(Zone, VAR_INT, "Light Mask", lightMask_, DEFAULT_LIGHTMASK, AM_DEFAULT);
 }