public bool PreBuild(MapAsset asset) { if (asset.type != "util-cam") { return(true); } UtilData utilData = AssetDB.utils[asset.type]; // Object GameObject obj = new GameObject(asset.type); // Sprite Renderer SpriteRenderer spriteRenderer = obj.AddComponent <SpriteRenderer>(); spriteRenderer.sprite = utilData.SpriteRenderer.sprite; spriteRenderer.material = utilData.SpriteRenderer.material; obj.layer = (int)Layer.ShortObjects; // Camera SurvCamera camClone = utilData.GameObj.GetComponent <SurvCamera>(); SurvCamera camera = obj.AddComponent <SurvCamera>(); camera.CamName = asset.name; camera.camNameString = camClone.camNameString; camera.NewName = camClone.NewName; camera.OffAnim = camClone.OffAnim; camera.CamSize = camClone.CamSize; camera.CamAspect = camClone.CamAspect; camera.Offset = camClone.Offset; camera.OnAnim = camClone.OnAnim; camera.Images = camClone.Images; polus.shipStatus.AllCameras = AssetHelper.AddToArr(polus.shipStatus.AllCameras, camera); // Colliders AssetHelper.BuildColliders(asset, obj); // Add to Polus polus.Add(obj, asset); return(true); }
public static void Postfix(SurveillanceMinigame __instance) { // Add securityGuard cameras page = 0; timer = 0; if (ShipStatus.Instance.AllCameras.Length > 4 && __instance.FilteredRooms.Length > 0) { __instance.textures = __instance.textures.ToList().Concat(new RenderTexture[ShipStatus.Instance.AllCameras.Length - 4]).ToArray(); for (int i = 4; i < ShipStatus.Instance.AllCameras.Length; i++) { SurvCamera surv = ShipStatus.Instance.AllCameras[i]; Camera camera = UnityEngine.Object.Instantiate <Camera>(__instance.CameraPrefab); camera.transform.SetParent(__instance.transform); camera.transform.position = new Vector3(surv.transform.position.x, surv.transform.position.y, 8f); camera.orthographicSize = 2.35f; RenderTexture temporary = RenderTexture.GetTemporary(256, 256, 16, (RenderTextureFormat)0); __instance.textures[i] = temporary; camera.targetTexture = temporary; } } }
public static bool Prefix(PlanetSurveillanceMinigame __instance, int BPDCKHHJEHC) { if (camsBool) { int direction = BPDCKHHJEHC; if (direction != 0 && Constants.Method_3()) //ShouldPlaySfx { SoundManager.Instance.PlaySound(__instance.ChangeSound, false, 1f); } __instance.Dots[__instance.currentCamera].sprite = __instance.DotDisabled; __instance.currentCamera = Extensions.Wrap(__instance.currentCamera + direction, __instance.survCameras.Length); __instance.Dots[__instance.currentCamera].sprite = __instance.DotEnabled; SurvCamera survCamera = __instance.survCameras[__instance.currentCamera]; __instance.Camera.transform.position = survCamera.transform.position + __instance.survCameras[__instance.currentCamera].Offset; __instance.LocationName.Text = survCamera.CamName; return(false); } return(true); }