|
My Project
|
512*512 region More...
#include <BlockRegion.h>
Public Member Functions | |
| BlockRegion (int16_t regionX, int16_t regionZ, CBlockWorld *pBlockWorld) | |
| ATTRIBUTE_DEFINE_CLASS (BlockRegion) | |
| virtual int | InstallFields (CAttributeClass *pClass, bool bOverride) |
| this class should be implemented if one wants to add new attribute. More... | |
| ATTRIBUTE_METHOD1 (BlockRegion, GetRegionX_s, int *) | |
| ATTRIBUTE_METHOD1 (BlockRegion, GetRegionZ_s, int *) | |
| ATTRIBUTE_METHOD1 (BlockRegion, GetChunksLoaded_s, int *) | |
| ATTRIBUTE_METHOD1 (BlockRegion, SetChunksLoaded_s, int) | |
| ATTRIBUTE_METHOD1 (BlockRegion, IsModified_s, bool *) | |
| ATTRIBUTE_METHOD1 (BlockRegion, SetModified_s, bool) | |
| ATTRIBUTE_METHOD1 (BlockRegion, GetTotalBytes_s, int *) | |
| ATTRIBUTE_METHOD (BlockRegion, ClearAllLight_s) | |
| virtual const std::string & | GetIdentifier () |
| virtual void | SetIdentifier (const std::string &sID) |
| bool | IsLocked () |
| void | SetBlockTemplateByIndex (uint16_t x_rs, uint16_t y_rs, uint16_t z_rs, BlockTemplate *pTemplate) |
| void | RefreshBlockTemplateByIndex (uint16_t x_rs, uint16_t y_rs, uint16_t z_rs, BlockTemplate *pTemplate) |
| uint32_t | GetBlockTemplateIdByIndex (int16_t x, int16_t y, int16_t z) |
| BlockTemplate * | GetBlockTemplateByIndex (int16_t x, int16_t y, int16_t z) |
| void | SetBlockUserDataByIndex (int16_t x, int16_t y, int16_t z, uint32_t data) |
| uint32_t | GetBlockUserDataByIndex (int16_t x, int16_t y, int16_t z) |
| void | SetChunkColumnTimeStamp (uint16_t x_rs, uint16_t z_rs, uint16_t nTimeStamp) |
| set chunk column time stamp. More... | |
| uint16_t | GetChunkColumnTimeStamp (uint16_t x, uint16_t z) |
| get the time stamp of for the given chunk column 0 means not available, 1 means loaded before | |
| bool | IntersectBlock (int16_t blockX, int16_t blockY, int16_t blockZ, uint32_t filter) |
| int16_t | GetRegionX () |
| int16_t | GetRegionZ () |
| ChunkMaxHeight * | GetHighestBlock (uint16_t blockIdX_rs, uint16_t blockIdZ_rs) |
| uint32_t | QueryApproxNeighborBlockState (const Int16x3 &blockPos) |
| Block * | GetBlock (uint16_t x_rs, uint16_t y_rs, uint16_t z_rs) |
| void | SaveToFile () |
| void | Load () |
| void | OnFrameMove () |
| void | OnLoadWorldFinished () |
| void | OnUnloadWorld () |
| void | DeleteAllBlocks () |
| void | RefreshAllLightsInColumn (uint16_t chunkX_ws, uint16_t chunkZ_ws) |
| void | GetBlocksInChunk (uint16_t chunkX_ws, uint16_t chunkZ_ws, uint16_t startChunkY, uint16_t endChunkY, uint32_t matchtype, const luabind::adl::object &result, int32_t &blockCount) |
| void | GetBlocksInChunk (uint16_t chunkX_ws, uint16_t chunkZ_ws, uint32_t verticalSectionFilter, uint32_t matchtype, const luabind::adl::object &result, int32_t &blockCount) |
| const std::string & | GetMapChunkData (uint32_t chunkX, uint32_t chunkZ, bool bIncludeInit, uint32_t verticalSectionFilter=0xffff) |
| void | ApplyMapChunkData (uint32_t chunkX, uint32_t chunkZ, uint32_t verticalSectionFilter, const std::string &chunkData, const luabind::adl::object &output) |
| void | SetChunkDirty (uint16_t packedChunkID, bool isDirty) |
| void | SetChunkDirtyByNeighbor (uint16_t packedChunkID) |
| void | SetChunkLightDirty (uint16_t packedChunkID) |
| uint16_t | GetPackedRegionIndex () |
| Block * | GetBlock (uint16_t chunkId, Uint16x3 &blockID_r) |
| BlockChunk * | GetChunk (uint16_t packedChunkID, bool createIfNotExist) |
| bool | IsModified () |
| whether modified. More... | |
| void | SetModified (bool bModified=true) |
| set modified. More... | |
| uint32 | GetChunksLoaded () const |
| void | SetChunksLoaded (uint32 val) |
| int | GetTotalBytes () |
| total number of bytes that this region occupies | |
| void | CalculateTotalBytes () |
| void | GetCenterBlockWs (Uint16x3 *pPos) |
| get the world space position for the center block. More... | |
| const Uint16x3 & | GetMinBlockWs () |
| const Uint16x3 & | GetMaxBlockWs () |
| void | ClearAllLight () |
| void | SetChunksDirtyByBlockTemplate (uint16_t templateId) |
| refresh chunks include one type block | |
Public Member Functions inherited from ParaEngine::IAttributeFields | |
| virtual int | GetAttributeClassID () |
| attribute class ID should be identical, unless one knows how overriding rules work. More... | |
| virtual const char * | GetAttributeClassName () |
| a static string, describing the attribute class object's name | |
| virtual const char * | GetAttributeClassDescription () |
| a static string, describing the attribute class object | |
| virtual int | GetChildAttributeColumnCount () |
| we support multi-dimensional child object. More... | |
| virtual int | GetChildAttributeObjectCount (int nColumnIndex=0) |
| get the number of child objects (row count) in the given column. More... | |
| virtual IAttributeFields * | GetChildAttributeObject (int nRowIndex, int nColumnIndex=0) |
| virtual IAttributeFields * | GetChildAttributeObject (const std::string &sName) |
| get attribute by child object. More... | |
| ATTRIBUTE_METHOD1 (IAttributeFields, GetName_s, const char **) | |
| ATTRIBUTE_METHOD1 (IAttributeFields, SetName_s, const char *) | |
| ATTRIBUTE_METHOD (IAttributeFields, PrintObject_s) | |
| ATTRIBUTE_METHOD (IAttributeFields, AddRef_s) | |
| ATTRIBUTE_METHOD1 (IAttributeFields, GetRefCount_s, int *) | |
| ATTRIBUTE_METHOD1 (IAttributeFields, SetTime_s, int) | |
| ATTRIBUTE_METHOD1 (IAttributeFields, GetTime_s, int *) | |
| ATTRIBUTE_METHOD (IAttributeFields, Release_s) | |
| virtual bool | ValidateFields () |
| validate all fields and return true if validation passed. More... | |
| virtual string | GetValidationMessage () |
| get the recent validation message due to the most recent call to ValidateFields() | |
| virtual bool | ResetField (int nFieldID) |
| Reset the field to its initial or default value. More... | |
| virtual bool | InvokeEditor (int nFieldID, const std::string &sParameters) |
| Invoke an (external) editor for a given field. More... | |
| virtual bool | AddChildAttributeObject (IAttributeFields *pChild, int nRowIndex=-1, int nColumnIndex=0) |
| add child object. More... | |
| virtual void * | QueryObjectByName (const std::string &sObjectType) |
| convert to object of a given type. More... | |
| virtual void * | QueryObject (int nObjectType) |
| convert to object of a given type. More... | |
| virtual int | GetTime () |
| get the current local time in case it is animated in milli seconds frames. More... | |
| virtual void | SetTime (int nTime) |
| virtual CDynamicAttributeField * | GetDynamicField (const std::string &sName) |
| Get a dynamic field with a given name. More... | |
| virtual CDynamicAttributeField * | GetDynamicField (int nIndex) |
| Get a dynamic field with a given index. More... | |
| virtual const char * | GetDynamicFieldNameByIndex (int nIndex) |
| get field name by index | |
| virtual int | GetDynamicFieldCount () |
| how many dynamic field this object currently have. More... | |
| virtual int | SetDynamicField (const std::string &sName, const CVariable &value) |
| set a dynamic field with a given name. More... | |
| virtual int | AddDynamicField (const std::string &sName, ATTRIBUTE_FIELDTYPE dwType) |
| add dynamic field and return field index | |
| virtual void | RemoveAllDynamicFields () |
| remove all dynamic fields | |
| virtual int | SaveDynamicFieldsToString (std::string &output) |
| save only text dynamic fields to fieldname = value text strings. More... | |
| virtual int | LoadDynamicFieldsFromString (const std::string &input) |
| load only text dynamic fields from string More... | |
| CAttributeClass * | GetAttributeClass () |
| get the main attribute class object. More... | |
| void | PrintObject () |
| print the content of this object to a text file at temp/doc/[ClassName].txt. More... | |
Public Member Functions inherited from ParaEngine::IObject | |
| virtual void | Clone (IObject *obj) const |
| Clone the object's contains to a pointer. More... | |
| virtual IObject * | Clone () const |
| Clone the object's contains and return a pointer to the newly created object. More... | |
| virtual bool | Equals (const IObject *obj) const |
| Compare the object with another object. More... | |
| virtual const IType * | GetType () const |
| virtual std::string | ToString () const |
| WeakPtr_type & | GetWeakReference () |
| get weak reference object. More... | |
| virtual int | ProcessObjectEvent (const ObjectEvent &event) |
| this function is only used to backward compatibility of ParaObject:AddEvent() function. More... | |
Public Member Functions inherited from ParaEngine::CRefCounted | |
| void | addref () const |
| add reference count of the object. More... | |
| bool | delref () const |
| decrease reference count of the object. More... | |
| int | GetRefCount () const |
| get the reference count | |
| virtual int | Release () |
| CRefCounted * | AddToAutoReleasePool () |
| addref and releases the ownership sometime soon automatically (usually at the end of the current frame). More... | |
Friends | |
| class | BlockChunk |
| class | RenderableChunk |
Additional Inherited Members | |
Public Types inherited from ParaEngine::IAttributeFields | |
| typedef ParaEngine::weak_ptr< IObject, IAttributeFields > | WeakPtr_type |
Public Types inherited from ParaEngine::IObject | |
| typedef ParaEngine::weak_ptr< IObject > | WeakPtr_type |
Static Public Member Functions inherited from ParaEngine::IAttributeFields | |
| static HRESULT | GetAttributeClassID_s (IAttributeFields *cls, int *p1) |
| static HRESULT | GetAttributeClassName_s (IAttributeFields *cls, const char **p1) |
| static bool | OpenWithDefaultEditor (const char *sFilename, bool bWaitOnReturn=false) |
| Open a given file with the default registered editor in the game engine. More... | |
Protected Member Functions inherited from ParaEngine::IAttributeFields | |
| virtual CAttributeClass * | CreateAttributeClass () |
| initialize fields | |
| virtual CDynamicAttributesSet * | GetDynamicAttributes (bool bCreateIfNotExist=false) |
Protected Attributes inherited from ParaEngine::IObject | |
| WeakPtr_type | m_weak_reference |
Protected Attributes inherited from ParaEngine::CRefCounted | |
| int | m_refcount |
512*512 region
| void ParaEngine::BlockRegion::GetCenterBlockWs | ( | Uint16x3 * | pPos | ) |
get the world space position for the center block.
|
virtual |
this class should be implemented if one wants to add new attribute.
This function is always called internally.
Reimplemented from ParaEngine::IAttributeFields.
|
virtual |
whether modified.
Reimplemented from ParaEngine::IAttributeFields.
| void ParaEngine::BlockRegion::SetBlockTemplateByIndex | ( | uint16_t | x_rs, |
| uint16_t | y_rs, | ||
| uint16_t | z_rs, | ||
| BlockTemplate * | pTemplate | ||
| ) |
| x,z | range in [0,512), y range in [0,256) |
| bNeedUpdate | during loading from file, bNeedUpdate is false. |
| void ParaEngine::BlockRegion::SetChunkColumnTimeStamp | ( | uint16_t | x_rs, |
| uint16_t | z_rs, | ||
| uint16_t | nTimeStamp | ||
| ) |
set chunk column time stamp.
usually 0 for non-generated. 1 for generated. this is usually called by world generators, so that we will not generate again next time we load the world.
|
virtual |
set modified.
Reimplemented from ParaEngine::IAttributeFields.
1.8.12