note/程序开发/游戏开发/冰风网络/Engine.md
2023-07-05 09:34:06 +08:00

99 lines
1.8 KiB
Markdown

# World
## Class
### SceneObject
- SceneObjectLocation ==> SceneObjectBase
- SceneObject
- World
- EditWorld
- PVSWorld
- SceneZoneManagerObject
- SceneRoot
- InteriorInstance
- ShapeBase
- ModelShapeBase ==> StaticModelShape
- OutdoorStaticShape
- AudioEmitter
- LightningSound
### Resource
- Resource
- Interior
### other
- TerrTile
- TerrTileEdit
- SceneInstance
## Object
World
- `SKies mSky`
- `SceneInstance* m_SceneInstance`
- `WorldLoader* mTileLoader`
- `Vector<Tile> mTiles`
- `WorldAreaHeader mFileHeader`
- `Vector<stModelResInfo> mModels`
- `ResourcePtr res`
- `Vector<ModelInstanceInfo> mModelis`
- `std::map<U32,stObject>::iterator it`
- `stObject ==> ShapeBase`
- `Vector<InteriorPtr> mInteriors`
- `Interior pRep`
- `Vector<InteriorInstanceInfo> mInteriorInsts`
- `std::map<U32,stObject>::iterator` it
- `stObject ==> InteriorInstance`
- `World* mWorld`
- `XMapObjectMgr<XMapInteriorObj> mInteriorInsts`
- `XMapInteriorObj obj`
- `InteriorInstance* obj.inst`
- `XMapObjectMgr<XMapShapeObj> mStaticShape`
- `XMapShapeObj obj`
- `ShapeBase* obj.inst`
SceneInstance
- `SceneRoot* m_ClientSceneRoot`
- `SceneGraph* m_ClientSceneGraph`
- `rcPathWorld* mRcWorld`
## Flow
Wolrd
- `World::setHotPos`
- `World::updateHotArea`
- `World::updateTile`
- `World::updateChunk`
- `World::updateTile`
- `WorldLoader::update`
- `TerrTile::addToScene`
- `TerrTile::initObjects`
- `TerrTile::setDoodads`
- `TerrTile::createADoodad`
- `TerrTile::setMapObjs`
- `TerrTile::createAInterior`
- `TerrTile::setDynamicDoodads`
- `SceneInstance::updatePathDataHotPos`
SceneInstance
- `SceneInstance::drawPathData`
- `rcPathWorld::drawDbg`