Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GridTrigger : ThreadingExtensionBase
- {
- private TerrainManager terrainManager;
- private ZoneManager zoneManager;
- private GameAreaManager gameAreaManager;
- private bool renderGrid = false;
- public override void OnCreated(IThreading threading)
- {
- terrainManager = Singleton<TerrainManager>.instance;
- zoneManager = Singleton<ZoneManager>.instance;
- gameAreaManager = Singleton<GameAreaManager>.instance;
- }
- public override void OnUpdate(float realTimeDelta, float simulationTimeDelta)
- {
- if (Event.current.alt && Input.GetKeyDown(KeyCode.Z))
- {
- // Turn on zones
- terrainManager.RenderZones = !terrainManager.RenderZones;
- Debug.Log("[RoadAssist] Alt+Z pressed.");
- }
- if (Event.current.alt && Input.GetKeyDown(KeyCode.G))
- {
- Debug.Log("[RoadAssist] Alt+G pressed. Render is " + (!renderGrid ? "on" : "off"));
- renderGrid = !renderGrid;
- }
- if (renderGrid)
- {
- foreach (TerrainPatch patch in terrainManager.m_patches)
- {
- Render(Singleton<RenderManager>.instance.CurrentCameraInfo, patch);
- }
- }
- }
- private void Render(RenderManager.CameraInfo cameraInfo, TerrainPatch patch)
- {
- if (cameraInfo.Intersect(patch.m_bounds))
- {
- Bounds bounds = patch.m_bounds;
- Material decMaterial = GetPrivateVariable<Material>(patch, "m_decorationMaterial");
- decMaterial.SetVector(Shader.PropertyToID("_DecorationArea"), new Vector4(255,255,255,150));
- decMaterial.SetFloat(Shader.PropertyToID("_DecorationAlpha"), 1.0f);
- GameAreaManager expr_EF_cp_0 = Singleton<GameAreaManager>.instance;
- expr_EF_cp_0.m_drawCallData.m_overlayCalls = expr_EF_cp_0.m_drawCallData.m_overlayCalls + 1;
- Singleton<RenderManager>.instance.OverlayEffect.DrawEffect(cameraInfo, decMaterial, 0, bounds);
- }
- }
- private T GetPrivateVariable<T>(object obj, string fieldName)
- {
- return (T)obj.GetType().GetField(fieldName, BindingFlags.NonPublic | BindingFlags.Instance).GetValue(obj);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement