public ModelView(DiagnosticViewContext context, Model model) : base(context) { _modelInstance = AddDisposable(model.CreateInstance(context.Game.AssetStore.LoadContext)); _modelInstance.Update(TimeInterval.Zero); var enclosingBoundingBox = GetEnclosingBoundingBox(_modelInstance); _renderedView = AddDisposable(new RenderedView( context, enclosingBoundingBox.GetCenter(), Vector3.Distance(enclosingBoundingBox.Min, enclosingBoundingBox.Max))); void OnBuildingRenderList(object sender, BuildingRenderListEventArgs e) { _modelInstance.SetWorldMatrix(Matrix4x4.Identity); _modelInstance.BuildRenderList( e.RenderList, e.Camera, true, new MeshShaderResources.RenderItemConstantsPS { HouseColor = Vector3.One, Opacity = 1.0f }); } _renderedView.RenderPipeline.BuildingRenderList += OnBuildingRenderList; AddDisposeAction(() => _renderedView.RenderPipeline.BuildingRenderList -= OnBuildingRenderList); }
internal override void BuildRenderList(RenderList renderList, Camera camera, bool castsShadow, MeshShaderResources.RenderItemConstantsPS renderItemConstantsPS) { _modelInstance.BuildRenderList( renderList, camera, castsShadow, renderItemConstantsPS); }
internal override void BuildRenderList( RenderList renderList, Camera camera, bool castsShadow, MeshShaderResources.RenderItemConstantsPS renderItemConstantsPS, List <string> hiddenSubObjects = null) { _modelInstance.BuildRenderList( renderList, camera, castsShadow, renderItemConstantsPS, hiddenSubObjects); }
internal override void BuildRenderList(RenderList renderList, Camera camera, bool castsShadow, MeshShaderResources.RenderItemConstantsPS renderItemConstantsPS) { foreach (var hideFlag in _moduleData.HideIfModelConditions) { if (_gameObject.ModelConditionFlags.Get(hideFlag)) { return; } } _modelInstance.BuildRenderList( renderList, camera, castsShadow, renderItemConstantsPS); }
public ModelView(DiagnosticViewContext context, Model model) : base(context) { _modelInstance = AddDisposable(model.CreateInstance(context.Game.ContentManager)); _modelInstance.Update(TimeInterval.Zero); var enclosingBoundingBox = GetEnclosingBoundingBox(_modelInstance); _renderedView = AddDisposable(new RenderedView( context, enclosingBoundingBox.GetCenter(), Vector3.Distance(enclosingBoundingBox.Min, enclosingBoundingBox.Max))); void OnBuildingRenderList(object sender, BuildingRenderListEventArgs e) { _modelInstance.SetWorldMatrix(Matrix4x4.Identity); _modelInstance.BuildRenderList(e.RenderList, e.Camera, true, context.Game.CivilianPlayer); } _renderedView.RenderPipeline.BuildingRenderList += OnBuildingRenderList; AddDisposeAction(() => _renderedView.RenderPipeline.BuildingRenderList -= OnBuildingRenderList); }
internal override void BuildRenderList( RenderList renderList, Camera camera, bool castsShadow, MeshShaderResources.RenderItemConstantsPS renderItemConstantsPS, Dictionary <string, bool> shownSubObjects = null, Dictionary <string, bool> hiddenSubObjects = null) { foreach (var hideFlag in _moduleData.HideIfModelConditions) { if (_gameObject.ModelConditionFlags.Get(hideFlag)) { return; } } _modelInstance.BuildRenderList( renderList, camera, castsShadow, renderItemConstantsPS, shownSubObjects, hiddenSubObjects); }