99 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			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`
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |