소스 검색

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 14 년 전
부모
커밋
2b57762508
3개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  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);
 }