Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using UnityEngine;
- using UnityEngine.PostProcessing;
- public class OptionsHolder : MonoBehaviour
- {
- public virtual void Start()
- {
- OptionsHolder.CheckOptions(this);
- base.GetComponent<AudioManager>().SetMixers();
- }
- public static void NetworkOptionsChanged(byte[] data)
- {
- byte b;
- byte hp;
- byte b2;
- byte b3;
- using (MemoryStream memoryStream = new MemoryStream(data))
- {
- using (BinaryReader binaryReader = new BinaryReader(memoryStream))
- {
- b = binaryReader.ReadByte();
- hp = binaryReader.ReadByte();
- b2 = binaryReader.ReadByte();
- b3 = binaryReader.ReadByte();
- }
- }
- OptionsHolder.maps = (int)b;
- OptionsHolder.HP = (int)hp;
- OptionsHolder.regen = (int)b2;
- OptionsHolder.weaponsSpawn = (int)b3;
- switch (OptionsHolder.HP)
- {
- case 0:
- OptionsHolder.HP = 100;
- break;
- case 1:
- OptionsHolder.HP = 200;
- break;
- case 2:
- OptionsHolder.HP = 300;
- break;
- case 3:
- OptionsHolder.HP = 1;
- break;
- case 4:
- OptionsHolder.HP = 25;
- break;
- case 5:
- OptionsHolder.HP = 50;
- break;
- case 6:
- OptionsHolder.HP = 75;
- break;
- }
- Debug.Log("Network Options Changed!");
- Debug.Log("HP: " + OptionsHolder.HP);
- Debug.Log("regen: " + OptionsHolder.regen);
- Debug.Log("Weapons spawns: " + b3);
- }
- public virtual void SetNonStatic()
- {
- if (OptionsHolder.vSync == 0)
- {
- QualitySettings.vSyncCount = 0;
- }
- else
- {
- QualitySettings.vSyncCount = 1;
- }
- if (OptionsHolder.AA == 0)
- {
- this.profile.antialiasing.enabled = true;
- }
- else
- {
- this.profile.antialiasing.enabled = false;
- }
- WinCounterUI winCounterUI = UnityEngine.Object.FindObjectOfType<WinCounterUI>();
- if (winCounterUI != null)
- {
- winCounterUI.ToggleWinCounterVisibility(OptionsHolder.showWins == 1);
- }
- if (OptionsHolder.framerate >= 0 && OptionsHolder.framerate < OptionsHolder.AvailableFramerates.Length)
- {
- Application.targetFrameRate = OptionsHolder.AvailableFramerates[OptionsHolder.framerate];
- }
- else
- {
- Debug.LogWarning("Invalid framerate set");
- }
- List<Resolution> list = new List<Resolution>(Screen.resolutions).Distinct<Resolution>().ToList<Resolution>();
- list.Sort((Resolution x, Resolution y) => x.width - y.width);
- if (OptionsHolder.resolutionIndex >= 0 && OptionsHolder.resolutionIndex < list.Count)
- {
- Screen.SetResolution(list[OptionsHolder.resolutionIndex].width, list[OptionsHolder.resolutionIndex].height, OptionsHolder.fullscreen == 0);
- return;
- }
- PlayerPrefs.SetInt("Resolution", list.Count - 1);
- OptionsHolder.CheckOptions(this);
- }
- public static void CheckOptions(OptionsHolder optionsHolder)
- {
- switch (PlayerPrefs.GetInt("Master"))
- {
- case 0:
- OptionsHolder.masterVolume = 100;
- break;
- case 1:
- OptionsHolder.masterVolume = 0;
- break;
- case 2:
- OptionsHolder.masterVolume = 10;
- break;
- case 3:
- OptionsHolder.masterVolume = 20;
- break;
- case 4:
- OptionsHolder.masterVolume = 30;
- break;
- case 5:
- OptionsHolder.masterVolume = 40;
- break;
- case 6:
- OptionsHolder.masterVolume = 50;
- break;
- case 7:
- OptionsHolder.masterVolume = 60;
- break;
- case 8:
- OptionsHolder.masterVolume = 70;
- break;
- case 9:
- OptionsHolder.masterVolume = 80;
- break;
- case 10:
- OptionsHolder.masterVolume = 90;
- break;
- }
- switch (PlayerPrefs.GetInt("SFX"))
- {
- case 0:
- OptionsHolder.SFXVolume = 100;
- break;
- case 1:
- OptionsHolder.SFXVolume = 0;
- break;
- case 2:
- OptionsHolder.SFXVolume = 10;
- break;
- case 3:
- OptionsHolder.SFXVolume = 20;
- break;
- case 4:
- OptionsHolder.SFXVolume = 30;
- break;
- case 5:
- OptionsHolder.SFXVolume = 40;
- break;
- case 6:
- OptionsHolder.SFXVolume = 50;
- break;
- case 7:
- OptionsHolder.SFXVolume = 60;
- break;
- case 8:
- OptionsHolder.SFXVolume = 70;
- break;
- case 9:
- OptionsHolder.SFXVolume = 80;
- break;
- case 10:
- OptionsHolder.SFXVolume = 90;
- break;
- }
- switch (PlayerPrefs.GetInt("Shake"))
- {
- case 0:
- OptionsHolder.shake = 100;
- break;
- case 1:
- OptionsHolder.shake = 0;
- break;
- case 2:
- OptionsHolder.shake = 10;
- break;
- case 3:
- OptionsHolder.shake = 20;
- break;
- case 4:
- OptionsHolder.shake = 30;
- break;
- case 5:
- OptionsHolder.shake = 40;
- break;
- case 6:
- OptionsHolder.shake = 50;
- break;
- case 7:
- OptionsHolder.shake = 60;
- break;
- case 8:
- OptionsHolder.shake = 70;
- break;
- case 9:
- OptionsHolder.shake = 80;
- break;
- case 10:
- OptionsHolder.shake = 90;
- break;
- }
- switch (PlayerPrefs.GetInt("Music"))
- {
- case 0:
- OptionsHolder.musicVolume = 100;
- break;
- case 1:
- OptionsHolder.musicVolume = 0;
- break;
- case 2:
- OptionsHolder.musicVolume = 10;
- break;
- case 3:
- OptionsHolder.musicVolume = 20;
- break;
- case 4:
- OptionsHolder.musicVolume = 30;
- break;
- case 5:
- OptionsHolder.musicVolume = 40;
- break;
- case 6:
- OptionsHolder.musicVolume = 50;
- break;
- case 7:
- OptionsHolder.musicVolume = 60;
- break;
- case 8:
- OptionsHolder.musicVolume = 70;
- break;
- case 9:
- OptionsHolder.musicVolume = 80;
- break;
- case 10:
- OptionsHolder.musicVolume = 90;
- break;
- }
- switch (PlayerPrefs.GetInt("Bots"))
- {
- case 0:
- OptionsHolder.bots = 2;
- break;
- case 1:
- OptionsHolder.bots = 3;
- break;
- case 2:
- OptionsHolder.bots = 4;
- break;
- case 3:
- OptionsHolder.bots = 5;
- break;
- case 4:
- OptionsHolder.bots = 6;
- break;
- case 5:
- OptionsHolder.bots = 7;
- break;
- case 6:
- OptionsHolder.bots = 8;
- break;
- case 7:
- OptionsHolder.bots = 9;
- break;
- case 8:
- OptionsHolder.bots = 10;
- break;
- case 9:
- OptionsHolder.bots = 0;
- break;
- case 10:
- OptionsHolder.bots = 1;
- break;
- }
- OptionsHolder.pickup = PlayerPrefs.GetInt("Auto Pickup", 0);
- OptionsHolder.chat = PlayerPrefs.GetInt("Chat", 0);
- OptionsHolder.ping = PlayerPrefs.GetInt("Ping", 0);
- OptionsHolder.maps = PlayerPrefs.GetInt("Maps");
- if (OptionsHolder.maps != 0)
- {
- PlayerPrefs.SetInt("HasChangedLevelPref", 1);
- }
- OptionsHolder.weaponsSpawn = PlayerPrefs.GetInt("weaponSpawns");
- OptionsHolder.AA = PlayerPrefs.GetInt("AA");
- OptionsHolder.vSync = PlayerPrefs.GetInt("Vsync");
- OptionsHolder.showWins = PlayerPrefs.GetInt("Show Wins");
- OptionsHolder.optionCombineMaps = PlayerPrefs.GetInt("Combine Maps");
- if (PlayerPrefs.HasKey("Resolution"))
- {
- OptionsHolder.resolutionIndex = PlayerPrefs.GetInt("Resolution");
- }
- else
- {
- OptionsHolder.resolutionIndex = -1;
- }
- OptionsHolder.fullscreen = PlayerPrefs.GetInt("Fullscreen");
- OptionsHolder.framerate = PlayerPrefs.GetInt("Framerate", 60);
- optionsHolder.SetNonStatic();
- Debug.Log(OptionsHolder.maps);
- switch (PlayerPrefs.GetInt("HP"))
- {
- case 0:
- OptionsHolder.HP = 100;
- break;
- case 1:
- OptionsHolder.HP = 200;
- break;
- case 2:
- OptionsHolder.HP = 300;
- break;
- case 3:
- OptionsHolder.HP = 1;
- break;
- case 4:
- OptionsHolder.HP = 25;
- break;
- case 5:
- OptionsHolder.HP = 50;
- break;
- case 6:
- OptionsHolder.HP = 75;
- break;
- }
- OptionsHolder.regen = PlayerPrefs.GetInt("Regen");
- if (MatchmakingHandler.IsNetworkMatch)
- {
- OptionsHolder.SendOptionsOverNetwork();
- }
- }
- private static void SendOptionsOverNetwork()
- {
- if (!MultiplayerManager.IsServer)
- {
- return;
- }
- byte[] optionsData = OptionsHolder.GetOptionsData();
- if (optionsData != OptionsHolder.LastSentOptionsData)
- {
- UnityEngine.Object.FindObjectOfType<MultiplayerManager>().OptionsChanged(optionsData);
- OptionsHolder.LastSentOptionsData = optionsData;
- }
- }
- public static byte[] GetOptionsData()
- {
- byte[] array = new byte[4];
- using (MemoryStream memoryStream = new MemoryStream(array))
- {
- using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
- {
- binaryWriter.Write((byte)OptionsHolder.maps);
- binaryWriter.Write((byte)PlayerPrefs.GetInt("HP"));
- binaryWriter.Write((byte)OptionsHolder.regen);
- binaryWriter.Write((byte)OptionsHolder.weaponsSpawn);
- }
- }
- return array;
- }
- public static void DefaultSettings()
- {
- OptionsHolder.HP = 100;
- OptionsHolder.regen = 0;
- OptionsHolder.weaponsSpawn = 0;
- }
- public static void NetworkMapChanged(byte v)
- {
- OptionsHolder.maps = (int)v;
- }
- public static int masterVolume;
- public static int SFXVolume;
- public static int musicVolume;
- public static int shake;
- public static int chat;
- public static int pickup;
- public static int ping;
- public static int bots;
- public static int maps;
- public static int weaponsSpawn;
- public static int HP;
- public static int regen;
- public static int vSync;
- public static int showWins;
- public static int AA;
- public static int resolutionIndex;
- public static int fullscreen;
- public static int framerate;
- public PostProcessingProfile profile;
- public static int[] AvailableFramerates = new int[]
- {
- 60,
- 75,
- 120,
- 144,
- 240,
- 0
- };
- protected static byte[] LastSentOptionsData = new byte[0];
- public static int optionCombineMaps;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement