public static void ColorMaterialWithZone(MaterialPtr eMat, Zones z) { eMat.SetSceneBlending(SceneBlendType.SBT_TRANSPARENT_ALPHA); ColourValue c = CityManager.GetZoneColor(z); eMat.SetDiffuse(c.r, c.g, c.b, 0.5f); eMat.SetDepthWriteEnabled(false); }
/// <summary> /// Position this renderable on the city grid /// </summary> /// <param name="plotx">X Position in plot coords of this instance</param> /// <param name="ploty">Y Position in plot coords of this instance</param> public virtual void SetPosition(int plotx, int ploty) { PlotX = plotx; PlotY = ploty; Vector3 plotcenter = CityManager.GetPlotCenter(plotx, ploty); if (node != null) { node.SetPosition(plotcenter.x, plotcenter.y, plotcenter.z); } }
public static void ColorMaterialWithResource(MaterialPtr eMat, ResourceDict resources, ResourceType r) { ColourValue c = CityManager.GetResourceColor(r); double val = resources[r]; val = Math.Log10(val) / 6.0; val = Math.Min(Math.Max(val, 0), 1); eMat.SetDiffuse(c.r, c.g, c.b, (float)val); eMat.SetSceneBlending(SceneBlendType.SBT_TRANSPARENT_ALPHA); eMat.SetDepthWriteEnabled(false); }
public void UpdateZoneVisibility() { if (((CityManager.ShowZones || CityManager.GetMouseMode() == States.MouseMode.DrawingZone) && this.data.Zone != Zones.Unzoned) || (CityManager.ResourceToShow != null)) { zoneNode.SetVisible(true); } else { zoneNode.SetVisible(false); } }
public override void SetPosition(int plotx, int ploty) { base.SetPosition(plotx, ploty); Vector3 plotcenter = CityManager.GetPlotCenter(plotx, ploty); if (zoneNode != null) { zoneNode.SetPosition(plotcenter.x, plotcenter.y + 1, plotcenter.z); } if (selectionBoxNode != null) { selectionBoxNode.SetPosition(plotcenter.x, plotcenter.y, plotcenter.z); } }