/// <summary> /// インスタンスを生成します。 /// </summary> /// <param name="blockLoader"> /// Block をロードするための IBlockLoader。 /// </param> /// <param name="blockMeshFactory"> /// 取得した Block から BlockMesh を生成するための BlockMeshFactory。 /// </param> public BlockMeshManager(IBlockLoader blockLoader, BlockMeshFactory blockMeshFactory) { if (blockLoader == null) throw new ArgumentNullException("blockLoader"); if (blockMeshFactory == null) throw new ArgumentNullException("blockMeshFactory"); this.blockLoader = blockLoader; this.blockMeshFactory = blockMeshFactory; }
/// <summary> /// InterBlockMesh のロード要求をキューへ追加します。 /// </summary> /// <param name="loader">Block のロードに使用する IBlockLoader。</param> /// <param name="name">ロードする Block の名前。</param> /// <param name="lodCount">生成する LOD の数。</param> /// <param name="callback">InterBlockMesh のロード完了で呼び出されるコールバック メソッド。</param> public void Load(IBlockLoader loader, string name, int lodCount, InterBlockMeshLoadQueueCallback callback) { if (loader == null) { throw new ArgumentNullException("loader"); } if (name == null) { throw new ArgumentNullException("name"); } if (callback == null) { throw new ArgumentNullException("callback"); } var item = new Task { Loader = loader, Name = name, LodCount = lodCount, Callback = callback }; queue.Add(item); }
/// <summary> /// インスタンスを生成します。 /// </summary> /// <param name="blockLoader"> /// Block をロードするための IBlockLoader。 /// </param> /// <param name="blockMeshFactory"> /// 取得した Block から BlockMesh を生成するための BlockMeshFactory。 /// </param> public BlockMeshManager(IBlockLoader blockLoader, BlockMeshFactory blockMeshFactory) { if (blockLoader == null) { throw new ArgumentNullException("blockLoader"); } if (blockMeshFactory == null) { throw new ArgumentNullException("blockMeshFactory"); } this.blockLoader = blockLoader; this.blockMeshFactory = blockMeshFactory; }
/// <summary> /// InterBlockMesh のロード要求をキューへ追加します。 /// </summary> /// <param name="loader">Block のロードに使用する IBlockLoader。</param> /// <param name="name">ロードする Block の名前。</param> /// <param name="lodCount">生成する LOD の数。</param> /// <param name="callback">InterBlockMesh のロード完了で呼び出されるコールバック メソッド。</param> public void Load(IBlockLoader loader, string name, int lodCount, InterBlockMeshLoadQueueCallback callback) { if (loader == null) throw new ArgumentNullException("loader"); if (name == null) throw new ArgumentNullException("name"); if (callback == null) throw new ArgumentNullException("callback"); var item = new Task { Loader = loader, Name = name, LodCount = lodCount, Callback = callback }; queue.Add(item); }