// EXECUTABLE: ---------------------------------------------------------------------------- public override bool InstantExecute(GameObject target, IAction[] actions, int index) { GameObject go = GameObject.Find("MiniMapCamera"); if (go) { img = null; targetCamera = null; renderTexture = null; Destroy(go.gameObject); } player = HookPlayer.Instance.Get <PlayerCharacter>(); fullscreen = mapManager.GetComponent <MapManager>(); fullscreen.miniMapshowing = false; fullscreen.fullMapshowing = true; fullscreen.miniMapscrollWheel = zoomMap; fullscreen.miniMapscrollWheelSpeed = zoomSensitivity; fullscreen.miniMapmouseDrag = dragMap; fullscreen.miniMapDragButton = dragbutton; fullscreen.miniMapDragSpeed = dragspeed; fullscreen.switchCams(); if (renderTexture != null) { renderTexture.Release(); rt = (RectTransform)rawImage.transform; renderTexture = new RenderTexture((int)Screen.width, (int)Screen.height, 32); renderTexture.Create(); } if (img == null) { img = rawImage.gameObject.GetComponent <RawImage>(); img.texture = renderTexture; } m_RectTransform = mapPanel.GetComponent <RectTransform>(); m_RectTransform.localScale += new Vector3(0, 0, 0); mmwidth = m_RectTransform.rect.width; if (mapPanel != null) { mapPanel.SetActive(false); } if (targetCamera == null) { GameObject cameraMinimap = new GameObject(); if (lockMap == false) { cameraMinimap.transform.parent = player.transform; } targetCamera = cameraMinimap.AddComponent <Camera>(); targetCamera.enabled = true; targetCamera.allowHDR = false; targetCamera.cullingMask = this.cullingMask; targetCamera.useOcclusionCulling = occlusionCulling; targetCamera.allowHDR = false; targetCamera.allowMSAA = false; targetCamera.allowDynamicResolution = false; targetCamera.targetTexture = renderTexture; targetCamera.orthographic = true; targetCamera.orthographicSize = cameraSize; targetCamera.name = "MiniMapCamera"; targetCamera.transform.LookAt(player.transform); targetCamera.transform.localRotation = Quaternion.Euler(90.0f, 0.0f, 0.0f); targetCamera.transform.position = new Vector3(player.transform.position.x, player.transform.position.y + cameraDistance, player.transform.position.z); if (centerMap == true) { if (mapCenter != null) { targetCamera.transform.position = new Vector3(mapCenter.transform.position.x, mapCenter.transform.position.y + cameraDistance, mapCenter.transform.position.z); } } } if (mapMarkers == true) { foreach (GameObject gameObj in Resources.FindObjectsOfTypeAll <GameObject>()) { if (gameObj.name == "MapMarkerImage") { gameObj.transform.localScale = new Vector3(markerSize, markerSize, markerSize); gameObj.SetActive(showMarkers); } } } if ((overlay == true) && (mapcanvas != null)) { if (overlayMap == true) { mapcanvas.SetActive(true); Canvas canvas = mapcanvas.gameObject.GetComponent <Canvas>(); canvas.renderMode = RenderMode.ScreenSpaceCamera; canvas.worldCamera = targetCamera; canvas.planeDistance = planedistance; } else { mapcanvas.SetActive(false); } } return(true); }