private void ForceItem(Camera eye, ObjectBlock @object, ScenarioInstanceBlock instance) { DrawManager.ClearVisible( ); using (_bucketManager.Begin( )) { CacheKey key; if ([email protected](out key)) { return; } var modelBlock = @object?.Model.Get <ModelBlock>(key); var renderModel = modelBlock?.RenderModel.Get <RenderModelBlock>(key); if (renderModel == null) { return; } if (eye.CanSee(instance, @object)) { Dispatch(eye, @object, instance); } } }
/// <summary> /// Loops through each instance and dispatches them for processing /// </summary> private void ProcessPalette(Camera eye, CacheKey key, IEnumerable <IH2ObjectInstance> instanceCollection, IReadOnlyList <IH2ObjectPalette> paletteCollection) { foreach (var instance in instanceCollection) { var paletteIndex = instance.PaletteIndex; var objectBlock = paletteCollection[paletteIndex].ObjectReference.Get <ObjectBlock>(key); var modelBlock = objectBlock?.Model.Get <ModelBlock>(key); var renderModel = modelBlock?.RenderModel.Get <RenderModelBlock>(key); if (renderModel == null) { continue; } if (eye.CanSee(instance, objectBlock)) { Dispatch(eye, objectBlock, instance); } } }