예제 #1
0
 //-------------------------------------------------------------------------
 public void registerPageSource(string typeName, TerrainZonePageSource source)
 {
     if (this.mPageSources.ContainsKey(typeName))
     {
         throw new AxiomException("The page source " + typeName + " is already registered. registerPageSource");
     }
     this.mPageSources.Add(typeName, source);
     LogManager.Instance.Write("TerrainZone: Registered a new PageSource for type " + typeName);
 }
예제 #2
0
 public TerrainZone(PCZSceneManager creator, string name)
     : base(creator, name)
 {
     mZoneTypeName                   = "ZoneType_Terrain";
     this.mUseCustomMaterial         = false;
     this.mUseNamedParameterLodMorph = false;
     this.mLodMorphParamIndex        = 3;
     this.mTerrainRoot               = null;
     this.mActivePageSource          = null;
     this.mPagingEnabled             = false;
     this.mLivePageMargin            = 0;
     this.mBufferedPageMargin        = 0;
 }
예제 #3
0
        //-------------------------------------------------------------------------
        public void SelectPageSource(string typeName, TerrainZonePageSourceOptionList optionList)
        {
            if (!this.mPageSources.ContainsKey(typeName))
            {
                throw new AxiomException("Cannot locate a TerrainZonePageSource for type " + typeName + ". SelectPageSource");
            }

            if (null != this.mActivePageSource)
            {
                this.mActivePageSource.Shutdown();
            }
            this.mActivePageSource = this.mPageSources[typeName];
            this.mActivePageSource.Initialize(this, Options.tileSize, Options.pageSize, this.mPagingEnabled, optionList);

            LogManager.Instance.Write("TerrainZone: Activated PageSource " + typeName);
        }