├── README.md └── Source Code ├── Assets └── scsm ├── Components ├── CustomNameTag.cs ├── FlyCamera.cs ├── Point.cs ├── TabButton.cs ├── TabGroup.cs ├── ToggleButton.cs └── UItag.cs ├── HarmonyPatches.cs ├── LeanTween ├── Editor │ ├── LeanTweenDocumentationEditor.cs │ └── LeanTweenDocumentationEditor.cs.meta ├── LTDescr.cs ├── LTDescr.cs.meta ├── LTDescrOptional.cs ├── LTDescrOptional.cs.meta ├── LTSeq.cs ├── LTSeq.cs.meta ├── LeanAudio.cs ├── LeanAudio.cs.meta ├── LeanSmooth.cs ├── LeanSmooth.cs.meta ├── LeanTest.cs ├── LeanTest.cs.meta ├── LeanTween.cs ├── LeanTween.cs.meta ├── LeanTween.dll.zip ├── LeanTween.dll.zip.meta ├── LeanTweenExt.cs ├── LeanTweenExt.cs.meta └── camerabundlegamer ├── Plugin.cs ├── PluginInfo.cs └── SeventysCameraSettingsMod.csproj /README.md: -------------------------------------------------------------------------------- 1 | # SeventysCameraSettingsMod 2 | Change the way Gorilla Tag is viewed by your friends and fans! 3 | 4 | Key Binds: 5 | 6 | FOV = Mouse wheel 7 | 8 | Free Cam = F1 Key toggle 9 | 10 | First Person = Enter Key Toggle 11 | 12 | Toggle UI = Tab Key 13 | 14 | W A S D = Move :| 15 | 16 | Rotation = Arrow Keys 17 | 18 | Spectate Player 1 - 9 Third Person = Number keys 1 - 9 19 | 20 | Spectate Player 1 - 9 First Person = Number keys 1 - 9 + Shift 21 | 22 | Place waypoint = P key 23 | 24 | Start Waypoint Mode = O key 25 | 26 | Delete WayPoint = I key (Hold) 27 | 28 | Reset Rotation = Z key (Might be a different key if you are not using a English keyboard) 29 | 30 | There might be some more but those are of the dome! 31 | -------------------------------------------------------------------------------- /Source Code/Assets/scsm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/7Seventy0/SeventysCameraSettingsMod/7e1508dd9ff57e149eb792155227099505684957/Source Code/Assets/scsm -------------------------------------------------------------------------------- /Source Code/Components/CustomNameTag.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using Photon.Pun; 4 | using TMPLoader; 5 | public class CustomNameTag : MonoBehaviour 6 | { 7 | TMPro.TextMeshProUGUI nametag_Text; 8 | public GameObject nametag; 9 | GameObject Inametag; 10 | FlyCamera flyCamera; 11 | 12 | void Start() 13 | { 14 | StartCoroutine(CoolStart()); 15 | } 16 | IEnumerator CoolStart() 17 | { 18 | yield return new WaitForSeconds(1); 19 | 20 | Inametag = Instantiate(nametag); 21 | 22 | Inametag.name = "GorillaTagTag"; 23 | Inametag.transform.SetParent(transform, false); 24 | Inametag.transform.localPosition = new Vector3(0, 2.4f, 0); 25 | Inametag.transform.localScale = new Vector3(-0.2f, 0.2f, -0.2f); 26 | nametag_Text = Inametag.GetComponentInChildren(); 27 | nametag_Text.text = gameObject.GetComponent().Owner.NickName; 28 | 29 | 30 | 31 | flyCamera = FindObjectOfType(); 32 | 33 | 34 | 35 | InvokeRepeating("SlowUpdate", 0, 0.2f); 36 | } 37 | 38 | void SlowUpdate() 39 | { 40 | 41 | nametag_Text.outlineColor = GetComponentInChildren().material.color; 42 | 43 | } 44 | void Update() 45 | { 46 | if(flyCamera == null) 47 | { 48 | flyCamera = FindObjectOfType(); 49 | } 50 | if(Inametag != null) 51 | { 52 | //Debug.Log("Facing"); 53 | Inametag.transform.LookAt(flyCamera.transform.position); 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /Source Code/Components/FlyCamera.cs: -------------------------------------------------------------------------------- 1 | using Photon.Pun; 2 | using Photon.Realtime; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using UnityEngine; 6 | using UnityEngine.InputSystem; 7 | using UnityEngine.UI; 8 | using UniverseLib.Input; 9 | using UniverseLib.UI; 10 | using UnityEngine.Rendering; 11 | 12 | public class FlyCamera : MonoBehaviour 13 | { 14 | 15 | string CodeBox = "ABC"; 16 | string GameobjectFinder = "Player"; 17 | GameObject uiCanvas; 18 | bool uiIsShown = true; 19 | float mainSpeed = 10.0f; //regular speed 20 | float shiftAdd = 20f; //multiplied by how long shift is held. Basically running 21 | float maxShift = 100f; //Maximum speed when holdin gshift 22 | Vector2 rotation = Vector2.zero; 23 | AudioListener listener; 24 | private float totalRun= 1.0f; 25 | public bool allowedToMove = true; 26 | public bool allowedToFreecam = true; 27 | bool freecam; 28 | bool isFPSview = false; 29 | string fps = "120"; 30 | public GameObject model; 31 | 32 | TabGroup tabGroup; 33 | ToggleButton lookAtToggle; 34 | ToggleButton modelToggle; 35 | ToggleButton arenaMode; 36 | Camera fakeCam; 37 | Text camposText; 38 | Text camrotText; 39 | Text camFOVText; 40 | Text camFreeCamBool; 41 | Text camIsFpsBool; 42 | 43 | Slider camSpeedSlider; 44 | Slider camRotSpeedSlider; 45 | Slider nearclipslider; 46 | Slider smoothingSlider; 47 | 48 | Button plug; 49 | 50 | Transform playerToTrackArenaMode; 51 | 52 | Camera shoulderCamera; 53 | float fov; 54 | private int _currentWaypointIndex = 0; 55 | GorillaNetworking.PhotonNetworkController __instance; 56 | 57 | bool isInWayPointMode; 58 | 59 | float nearclip; 60 | float smoothing; 61 | 62 | bool primaryR; 63 | public static UIBase UiBase { get; private set; } 64 | GameObject player; 65 | public List points = new List(); 66 | void Start() 67 | { 68 | shoulderCamera = GetComponent(); 69 | fov = shoulderCamera.fieldOfView; 70 | listener = gameObject.AddComponent(); 71 | listener.enabled = false; 72 | InvokeRepeating("SlowUpdate", 0, 0.1f); 73 | 74 | player = GameObject.Find("Player"); 75 | StartCoroutine(LateStart()); 76 | 77 | } 78 | 79 | IEnumerator LateStart() 80 | { 81 | yield return new WaitForSeconds(1); 82 | nearclipslider = GameObject.Find("NearClipSlider").GetComponent(); 83 | arenaMode = GameObject.Find("ArenaAtToggle").AddComponent(); 84 | lookAtToggle = GameObject.Find("LookAtToggle").AddComponent(); 85 | 86 | 87 | 88 | 89 | yield return new WaitForSeconds(1); 90 | uiCanvas = GameObject.FindObjectOfType().gameObject; 91 | 92 | 93 | uiCanvas.GetComponent().PopulateTabList(GameObject.Find("Camera Settings Tab")); 94 | 95 | uiCanvas.GetComponent().PopulateTabList(GameObject.Find("Camera Info Tab")); 96 | uiCanvas.GetComponent().PopulateTabList(GameObject.Find("CompTab")); 97 | 98 | lookAtToggle.SetFalse(); 99 | 100 | arenaMode.SetFalse(); 101 | 102 | modelToggle = GameObject.Find("ModelToggle").AddComponent(); 103 | 104 | fakeCam = GameObject.Find("FakeCam").GetComponent(); 105 | fakeCam.gameObject.GetComponent().enabled = false ; 106 | } 107 | string roomCode ="OJH82D"; 108 | 109 | float sliderMoveSpeedXFactor = 5; 110 | float sliderRotSpeedXFactor = 150; 111 | 112 | bool playerMover; 113 | 114 | void OnPlugClick() 115 | { 116 | Application.OpenURL("https://7seventy0.carrd.co/"); 117 | } 118 | 119 | 120 | void OnGUI() 121 | { 122 | if (uiIsShown) 123 | { 124 | 125 | CodeBox = GUI.TextArea(new Rect(10, 10, 200, 20), CodeBox, 200); 126 | 127 | if (GUI.Button(new Rect(10, 35, 100, 30), "Join")) 128 | GorillaNetworking.PhotonNetworkController.Instance.AttemptToJoinSpecificRoom(CodeBox); 129 | 130 | GameobjectFinder = GUI.TextArea(new Rect(10, 100, 200, 20), GameobjectFinder, 200); 131 | 132 | if (GUI.Button(new Rect(10, 125, 100, 30), "Track")) 133 | if(GameObject.Find(GameobjectFinder) != null) 134 | { 135 | playerToTrackArenaMode = GameObject.Find(GameobjectFinder).transform; 136 | } 137 | 138 | 139 | } 140 | 141 | } 142 | private LoadBalancingClient loadBalancingClient; 143 | 144 | float arenaCameraSwitchCoolDown = 5; 145 | float arenaCameraSwitchNextSwitch; 146 | // Pov: free code! 147 | void ArenaUpdate() 148 | { 149 | 150 | if(points.Count > 0) 151 | { 152 | if (playerToTrackArenaMode == null) 153 | { 154 | playerToTrackArenaMode = Camera.main.transform; 155 | } 156 | 157 | float distanceToClosestEnemy = Mathf.Infinity; 158 | Point closestEnemy = null; 159 | Point[] allEnemies = GameObject.FindObjectsOfType(); 160 | foreach (Point currentEnemy in allEnemies) 161 | { 162 | float distanceToEnemy = (currentEnemy.transform.position - playerToTrackArenaMode.position).sqrMagnitude; 163 | if (distanceToEnemy < distanceToClosestEnemy) 164 | { 165 | distanceToClosestEnemy = distanceToEnemy; 166 | closestEnemy = currentEnemy; 167 | } 168 | } 169 | 170 | if (transform.position != closestEnemy.transform.position && Time.time > arenaCameraSwitchNextSwitch) 171 | { 172 | transform.position = closestEnemy.transform.position; 173 | arenaCameraSwitchNextSwitch = Time.time + arenaCameraSwitchCoolDown; 174 | } 175 | 176 | } 177 | 178 | 179 | 180 | 181 | 182 | 183 | } 184 | // :) 185 | void SlowUpdate() 186 | { 187 | //Had to add the logs because i could not find the line that did that bad :( 188 | 189 | // Debug.Log("gfadadawdadwdawdawdadadadadawdwaddadadwawdadadad"); 190 | 191 | //Debug.Log("######################################################################"); 192 | if(uiCanvas == null) 193 | { 194 | // Debug.Log("###########nnnnnnnnnnnnnnnnnnnnnnnnnn#############"); 195 | uiCanvas = GameObject.FindObjectOfType().gameObject; 196 | // Debug.Log("###########nnnnnnooooooooooooooooooooooooooooooonnnnnnn#############"); 197 | GameObject.Find("CameraSettingsTABButton").AddComponent(); 198 | GameObject.Find("infoTABButton").AddComponent(); 199 | GameObject.Find("RoomTABButton").AddComponent(); 200 | GameObject.Find("HelpTABButton").AddComponent(); 201 | GameObject.Find("CompTABButton").AddComponent(); 202 | uiCanvas.AddComponent(); 203 | 204 | 205 | // Debug.Log("CODE: 8888988888888888888888898888888888888888888888"); 206 | 207 | foreach (TabButton tabButton in GameObject.FindObjectsOfType()) 208 | { 209 | tabButton.tabGroup = uiCanvas.GetComponent(); 210 | } 211 | 212 | } 213 | 214 | if(uiCanvas != null) 215 | { 216 | // Debug.Log("###########nnnnnnniiiiiiiiiiiiiiiinnnnnnnnnn#############"); 217 | if (uiIsShown) 218 | { 219 | uiCanvas.SetActive(true); 220 | } 221 | else 222 | { 223 | uiCanvas.SetActive(false); 224 | } 225 | } 226 | 227 | 228 | 229 | 230 | model.SetActive(modelToggle.state); 231 | 232 | UniversalUI.EventSys.enabled = true; 233 | 234 | // Debug.Log("###########nnnnnnniiiiiiiii55555555555555555555555555iiiiiiinnnnnnnnnn#############"); 235 | 236 | 237 | if (arenaMode.state && allowedToFreecam) 238 | { 239 | ArenaUpdate(); 240 | 241 | } 242 | 243 | 244 | // Debug.Log("ddddddddddddddddddddddddddddddddddddddddddddddddd"); 245 | 246 | 247 | 248 | // Debug.Log("###########nnnnnnniiii333333337777777777777777777777777777777777777777#######"); 249 | if (smoothingSlider == null) 250 | { 251 | // Debug.Log("###########nnnnnnniiii33333222222222222222222222222222223333333iiiinnnnnnnnnn#############"); 252 | smoothingSlider = GameObject.Find("SmoothingSlidergaming").GetComponent(); 253 | 254 | } 255 | else 256 | { 257 | 258 | smoothing = smoothingSlider.value / 10; 259 | } 260 | // Debug.Log("####0000000000000000000000000000000000000000000000000######"); 261 | if (camIsFpsBool == null) 262 | { 263 | camIsFpsBool = GameObject.Find("CameraisFirstPerson").GetComponent(); 264 | } 265 | else 266 | { 267 | camIsFpsBool.text = "isInFirstPerson ? = " + isFPSview; 268 | } 269 | 270 | // Debug.Log("gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg"); 271 | 272 | 273 | if (camFreeCamBool == null) 274 | { 275 | camFreeCamBool = GameObject.Find("CameraisFreeCam").GetComponent(); 276 | } 277 | else 278 | { 279 | camFreeCamBool.text = "isInFreeCam? = " + freecam; 280 | } 281 | 282 | 283 | // Debug.Log("uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"); 284 | 285 | 286 | if (camposText != null) 287 | { 288 | camposText.text = "POS : " + transform.position.ToString(); 289 | } 290 | else 291 | { 292 | camposText = GameObject.Find("CameraPOS TEXT").GetComponent(); 293 | } 294 | // 295 | //Debug.Log("rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"); 296 | 297 | if (camrotText != null) 298 | { 299 | camrotText.text = "ROT : " + transform.eulerAngles.ToString(); 300 | } 301 | else 302 | { 303 | camrotText = GameObject.Find("CameraROT TEXT").GetComponent(); 304 | } 305 | 306 | //Debug.Log("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); 307 | 308 | if (camFOVText != null) 309 | { 310 | camFOVText.text = "FOV : " + shoulderCamera.fieldOfView.ToString(); 311 | } 312 | else 313 | { 314 | camFOVText = GameObject.Find("CameraFOV Text").GetComponent(); 315 | } 316 | 317 | // Debug.Log("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"); 318 | if (camSpeedSlider == null) 319 | { 320 | camSpeedSlider = GameObject.Find("CAMERASPEEDSLIDER").GetComponent(); 321 | } 322 | if(camRotSpeedSlider == null) 323 | { 324 | 325 | camRotSpeedSlider = GameObject.Find("ROTATIONSPEEDSLIDER").GetComponent(); 326 | } 327 | // Debug.Log("0000000000000000000000000000000000000000000000000000000000000000000000000000"); 328 | if (plug == null) 329 | { 330 | plug = GameObject.Find("PlugButton").GetComponent