Advertisement
Guest User

Untitled

a guest
May 14th, 2021
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.25 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using UnityEngine;
  6. using UnityEngine.PostProcessing;
  7. public class OptionsHolder : MonoBehaviour
  8. {
  9. public virtual void Start()
  10. {
  11. OptionsHolder.CheckOptions(this);
  12. base.GetComponent<AudioManager>().SetMixers();
  13. }
  14. public static void NetworkOptionsChanged(byte[] data)
  15. {
  16. byte b;
  17. byte hp;
  18. byte b2;
  19. byte b3;
  20. using (MemoryStream memoryStream = new MemoryStream(data))
  21. {
  22. using (BinaryReader binaryReader = new BinaryReader(memoryStream))
  23. {
  24. b = binaryReader.ReadByte();
  25. hp = binaryReader.ReadByte();
  26. b2 = binaryReader.ReadByte();
  27. b3 = binaryReader.ReadByte();
  28. }
  29. }
  30. OptionsHolder.maps = (int)b;
  31. OptionsHolder.HP = (int)hp;
  32. OptionsHolder.regen = (int)b2;
  33. OptionsHolder.weaponsSpawn = (int)b3;
  34. switch (OptionsHolder.HP)
  35. {
  36. case 0:
  37. OptionsHolder.HP = 100;
  38. break;
  39. case 1:
  40. OptionsHolder.HP = 200;
  41. break;
  42. case 2:
  43. OptionsHolder.HP = 300;
  44. break;
  45. case 3:
  46. OptionsHolder.HP = 1;
  47. break;
  48. case 4:
  49. OptionsHolder.HP = 25;
  50. break;
  51. case 5:
  52. OptionsHolder.HP = 50;
  53. break;
  54. case 6:
  55. OptionsHolder.HP = 75;
  56. break;
  57. }
  58. Debug.Log("Network Options Changed!");
  59. Debug.Log("HP: " + OptionsHolder.HP);
  60. Debug.Log("regen: " + OptionsHolder.regen);
  61. Debug.Log("Weapons spawns: " + b3);
  62. }
  63. public virtual void SetNonStatic()
  64. {
  65. if (OptionsHolder.vSync == 0)
  66. {
  67. QualitySettings.vSyncCount = 0;
  68. }
  69. else
  70. {
  71. QualitySettings.vSyncCount = 1;
  72. }
  73. if (OptionsHolder.AA == 0)
  74. {
  75. this.profile.antialiasing.enabled = true;
  76. }
  77. else
  78. {
  79. this.profile.antialiasing.enabled = false;
  80. }
  81. WinCounterUI winCounterUI = UnityEngine.Object.FindObjectOfType<WinCounterUI>();
  82. if (winCounterUI != null)
  83. {
  84. winCounterUI.ToggleWinCounterVisibility(OptionsHolder.showWins == 1);
  85. }
  86. if (OptionsHolder.framerate >= 0 && OptionsHolder.framerate < OptionsHolder.AvailableFramerates.Length)
  87. {
  88. Application.targetFrameRate = OptionsHolder.AvailableFramerates[OptionsHolder.framerate];
  89. }
  90. else
  91. {
  92. Debug.LogWarning("Invalid framerate set");
  93. }
  94. List<Resolution> list = new List<Resolution>(Screen.resolutions).Distinct<Resolution>().ToList<Resolution>();
  95. list.Sort((Resolution x, Resolution y) => x.width - y.width);
  96. if (OptionsHolder.resolutionIndex >= 0 && OptionsHolder.resolutionIndex < list.Count)
  97. {
  98. Screen.SetResolution(list[OptionsHolder.resolutionIndex].width, list[OptionsHolder.resolutionIndex].height, OptionsHolder.fullscreen == 0);
  99. return;
  100. }
  101. PlayerPrefs.SetInt("Resolution", list.Count - 1);
  102. OptionsHolder.CheckOptions(this);
  103. }
  104. public static void CheckOptions(OptionsHolder optionsHolder)
  105. {
  106. switch (PlayerPrefs.GetInt("Master"))
  107. {
  108. case 0:
  109. OptionsHolder.masterVolume = 100;
  110. break;
  111. case 1:
  112. OptionsHolder.masterVolume = 0;
  113. break;
  114. case 2:
  115. OptionsHolder.masterVolume = 10;
  116. break;
  117. case 3:
  118. OptionsHolder.masterVolume = 20;
  119. break;
  120. case 4:
  121. OptionsHolder.masterVolume = 30;
  122. break;
  123. case 5:
  124. OptionsHolder.masterVolume = 40;
  125. break;
  126. case 6:
  127. OptionsHolder.masterVolume = 50;
  128. break;
  129. case 7:
  130. OptionsHolder.masterVolume = 60;
  131. break;
  132. case 8:
  133. OptionsHolder.masterVolume = 70;
  134. break;
  135. case 9:
  136. OptionsHolder.masterVolume = 80;
  137. break;
  138. case 10:
  139. OptionsHolder.masterVolume = 90;
  140. break;
  141. }
  142. switch (PlayerPrefs.GetInt("SFX"))
  143. {
  144. case 0:
  145. OptionsHolder.SFXVolume = 100;
  146. break;
  147. case 1:
  148. OptionsHolder.SFXVolume = 0;
  149. break;
  150. case 2:
  151. OptionsHolder.SFXVolume = 10;
  152. break;
  153. case 3:
  154. OptionsHolder.SFXVolume = 20;
  155. break;
  156. case 4:
  157. OptionsHolder.SFXVolume = 30;
  158. break;
  159. case 5:
  160. OptionsHolder.SFXVolume = 40;
  161. break;
  162. case 6:
  163. OptionsHolder.SFXVolume = 50;
  164. break;
  165. case 7:
  166. OptionsHolder.SFXVolume = 60;
  167. break;
  168. case 8:
  169. OptionsHolder.SFXVolume = 70;
  170. break;
  171. case 9:
  172. OptionsHolder.SFXVolume = 80;
  173. break;
  174. case 10:
  175. OptionsHolder.SFXVolume = 90;
  176. break;
  177. }
  178. switch (PlayerPrefs.GetInt("Shake"))
  179. {
  180. case 0:
  181. OptionsHolder.shake = 100;
  182. break;
  183. case 1:
  184. OptionsHolder.shake = 0;
  185. break;
  186. case 2:
  187. OptionsHolder.shake = 10;
  188. break;
  189. case 3:
  190. OptionsHolder.shake = 20;
  191. break;
  192. case 4:
  193. OptionsHolder.shake = 30;
  194. break;
  195. case 5:
  196. OptionsHolder.shake = 40;
  197. break;
  198. case 6:
  199. OptionsHolder.shake = 50;
  200. break;
  201. case 7:
  202. OptionsHolder.shake = 60;
  203. break;
  204. case 8:
  205. OptionsHolder.shake = 70;
  206. break;
  207. case 9:
  208. OptionsHolder.shake = 80;
  209. break;
  210. case 10:
  211. OptionsHolder.shake = 90;
  212. break;
  213. }
  214. switch (PlayerPrefs.GetInt("Music"))
  215. {
  216. case 0:
  217. OptionsHolder.musicVolume = 100;
  218. break;
  219. case 1:
  220. OptionsHolder.musicVolume = 0;
  221. break;
  222. case 2:
  223. OptionsHolder.musicVolume = 10;
  224. break;
  225. case 3:
  226. OptionsHolder.musicVolume = 20;
  227. break;
  228. case 4:
  229. OptionsHolder.musicVolume = 30;
  230. break;
  231. case 5:
  232. OptionsHolder.musicVolume = 40;
  233. break;
  234. case 6:
  235. OptionsHolder.musicVolume = 50;
  236. break;
  237. case 7:
  238. OptionsHolder.musicVolume = 60;
  239. break;
  240. case 8:
  241. OptionsHolder.musicVolume = 70;
  242. break;
  243. case 9:
  244. OptionsHolder.musicVolume = 80;
  245. break;
  246. case 10:
  247. OptionsHolder.musicVolume = 90;
  248. break;
  249. }
  250. switch (PlayerPrefs.GetInt("Bots"))
  251. {
  252. case 0:
  253. OptionsHolder.bots = 2;
  254. break;
  255. case 1:
  256. OptionsHolder.bots = 3;
  257. break;
  258. case 2:
  259. OptionsHolder.bots = 4;
  260. break;
  261. case 3:
  262. OptionsHolder.bots = 5;
  263. break;
  264. case 4:
  265. OptionsHolder.bots = 6;
  266. break;
  267. case 5:
  268. OptionsHolder.bots = 7;
  269. break;
  270. case 6:
  271. OptionsHolder.bots = 8;
  272. break;
  273. case 7:
  274. OptionsHolder.bots = 9;
  275. break;
  276. case 8:
  277. OptionsHolder.bots = 10;
  278. break;
  279. case 9:
  280. OptionsHolder.bots = 0;
  281. break;
  282. case 10:
  283. OptionsHolder.bots = 1;
  284. break;
  285. }
  286. OptionsHolder.pickup = PlayerPrefs.GetInt("Auto Pickup", 0);
  287. OptionsHolder.chat = PlayerPrefs.GetInt("Chat", 0);
  288. OptionsHolder.ping = PlayerPrefs.GetInt("Ping", 0);
  289. OptionsHolder.maps = PlayerPrefs.GetInt("Maps");
  290. if (OptionsHolder.maps != 0)
  291. {
  292. PlayerPrefs.SetInt("HasChangedLevelPref", 1);
  293. }
  294. OptionsHolder.weaponsSpawn = PlayerPrefs.GetInt("weaponSpawns");
  295. OptionsHolder.AA = PlayerPrefs.GetInt("AA");
  296. OptionsHolder.vSync = PlayerPrefs.GetInt("Vsync");
  297. OptionsHolder.showWins = PlayerPrefs.GetInt("Show Wins");
  298. OptionsHolder.optionCombineMaps = PlayerPrefs.GetInt("Combine Maps");
  299. if (PlayerPrefs.HasKey("Resolution"))
  300. {
  301. OptionsHolder.resolutionIndex = PlayerPrefs.GetInt("Resolution");
  302. }
  303. else
  304. {
  305. OptionsHolder.resolutionIndex = -1;
  306. }
  307. OptionsHolder.fullscreen = PlayerPrefs.GetInt("Fullscreen");
  308. OptionsHolder.framerate = PlayerPrefs.GetInt("Framerate", 60);
  309. optionsHolder.SetNonStatic();
  310. Debug.Log(OptionsHolder.maps);
  311. switch (PlayerPrefs.GetInt("HP"))
  312. {
  313. case 0:
  314. OptionsHolder.HP = 100;
  315. break;
  316. case 1:
  317. OptionsHolder.HP = 200;
  318. break;
  319. case 2:
  320. OptionsHolder.HP = 300;
  321. break;
  322. case 3:
  323. OptionsHolder.HP = 1;
  324. break;
  325. case 4:
  326. OptionsHolder.HP = 25;
  327. break;
  328. case 5:
  329. OptionsHolder.HP = 50;
  330. break;
  331. case 6:
  332. OptionsHolder.HP = 75;
  333. break;
  334. }
  335. OptionsHolder.regen = PlayerPrefs.GetInt("Regen");
  336. if (MatchmakingHandler.IsNetworkMatch)
  337. {
  338. OptionsHolder.SendOptionsOverNetwork();
  339. }
  340. }
  341. private static void SendOptionsOverNetwork()
  342. {
  343. if (!MultiplayerManager.IsServer)
  344. {
  345. return;
  346. }
  347. byte[] optionsData = OptionsHolder.GetOptionsData();
  348. if (optionsData != OptionsHolder.LastSentOptionsData)
  349. {
  350. UnityEngine.Object.FindObjectOfType<MultiplayerManager>().OptionsChanged(optionsData);
  351. OptionsHolder.LastSentOptionsData = optionsData;
  352. }
  353. }
  354. public static byte[] GetOptionsData()
  355. {
  356. byte[] array = new byte[4];
  357. using (MemoryStream memoryStream = new MemoryStream(array))
  358. {
  359. using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
  360. {
  361. binaryWriter.Write((byte)OptionsHolder.maps);
  362. binaryWriter.Write((byte)PlayerPrefs.GetInt("HP"));
  363. binaryWriter.Write((byte)OptionsHolder.regen);
  364. binaryWriter.Write((byte)OptionsHolder.weaponsSpawn);
  365. }
  366. }
  367. return array;
  368. }
  369. public static void DefaultSettings()
  370. {
  371. OptionsHolder.HP = 100;
  372. OptionsHolder.regen = 0;
  373. OptionsHolder.weaponsSpawn = 0;
  374. }
  375. public static void NetworkMapChanged(byte v)
  376. {
  377. OptionsHolder.maps = (int)v;
  378. }
  379. public static int masterVolume;
  380. public static int SFXVolume;
  381. public static int musicVolume;
  382. public static int shake;
  383. public static int chat;
  384. public static int pickup;
  385. public static int ping;
  386. public static int bots;
  387. public static int maps;
  388. public static int weaponsSpawn;
  389. public static int HP;
  390. public static int regen;
  391. public static int vSync;
  392. public static int showWins;
  393. public static int AA;
  394. public static int resolutionIndex;
  395. public static int fullscreen;
  396. public static int framerate;
  397. public PostProcessingProfile profile;
  398. public static int[] AvailableFramerates = new int[]
  399. {
  400. 60,
  401. 75,
  402. 120,
  403. 144,
  404. 240,
  405. 0
  406. };
  407. protected static byte[] LastSentOptionsData = new byte[0];
  408. public static int optionCombineMaps;
  409. }
  410.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement