Example #1
0
        /// <summary>
        /// Unity event.
        /// </summary>
        private void Start()
        {
            GameplayState gameplayState = SceneManager.Instance.GameplayState;

            RoomSelectable = gameplayState.Room.GetComponent <Selectable>();

            InvoiceData.ClearData();

            Mission mission = gameplayState.Mission;

            InvoiceData.MissionName = mission != null?Localization.GetLocalizedString(mission.DisplayNameTerm != "Freeplay"?mission.DisplayNameTerm : "Missions/freeplay_DisplayName") : null;

            FactoryGameModePicker.GameMode gameModeEnum;
            GameMode             = FactoryGameModePicker.CreateGameMode(GameplayState.MissionToLoad, gameObject, out gameModeEnum);
            InvoiceData.GameMode = gameModeEnum;

            QuickDelay(() => GameMode.Setup(this));

            OnLightChange(false);

            KMModSettings modSettings       = GetComponent <KMModSettings>();
            ModSettings   activeModSettings = JsonConvert.DeserializeObject <ModSettings>(modSettings.Settings);

            GetComponent <SpoopyScares>().enabled = activeModSettings.halloweenEvent;
        }
Example #2
0
        public void Start()
        {
            this.AdvantageousWarningCanvas.SetActive(false);

            this.KMGameInfo    = this.GetComponent <KMGameInfo>();
            this.KMModSettings = this.GetComponent <KMModSettings>();
            this.KMGamepad     = this.GetComponent <KMGamepad>();

            if (Application.isEditor)
            {
                this.config = new Config {
                    ShowModuleNames = true
                };
                this.StartCoroutine(this.CheckForBombsTest());
            }
            else
            {
                this.RefreshConfig();
                this.KMGameInfo.OnStateChange = this.KMGameInfo_OnStateChange;
                UnityEngine.SceneManagement.SceneManager.sceneLoaded += this.SceneManager_sceneLoaded;
            }

            if (KTInputManager.Instance.IsMotionControlMode())
            {
                this.StartCoroutine(this.SearchForVrControllersCoroutine());
            }
        }
Example #3
0
        //Update this line each time you make changes to the Settings version.

        public ModSettings(KMModSettings settings)
        {
            var fileName = Path.GetFileName(settings.SettingsPath);

            if (fileName != null)
            {
                ModuleName = fileName.Replace("-settings.txt", "");
            }
        }
Example #4
0
    private void Start()
    {
        _gameInfo = GetComponent <KMGameInfo>();
        _gameInfo.OnStateChange += OnStateChange;

        _modSettings = GetComponent <KMModSettings>();

        ModSettingsJSON settings = JsonConvert.DeserializeObject <ModSettingsJSON>(_modSettings.Settings);

        if (settings == null)
        {
            DebugHelper.LogError("Failed to read connection settings from mod settings.");
            return;
        }

        DebugMode = (settings.debug == true);

        _ircConnection = new IRCConnection(settings.authToken, settings.userName, settings.channelName, settings.serverName, settings.serverPort);
        _ircConnection.Connect();

        _coroutineCanceller = new CoroutineCanceller();

        _coroutineQueue = GetComponent <CoroutineQueue>();
        _coroutineQueue.coroutineCanceller = _coroutineCanceller;

        logUploader = GetComponent <LogUploader>();
        logUploader.ircConnection = _ircConnection;

        urlHelper = GetComponent <UrlHelper>();
        urlHelper.ChangeMode(settings.shortUrls == true);

        _leaderboard = new Leaderboard();
        _leaderboard.LoadDataFromFile();

        ModuleData.LoadDataFromFile();
        ModuleData.WriteDataToFile();

        TwitchPlaySettings.LoadDataFromFile();

        UserAccess.AddUser(settings.userName, AccessLevel.Streamer | AccessLevel.SuperUser | AccessLevel.Admin | AccessLevel.Mod);
        UserAccess.AddUser(settings.channelName.Replace("#", ""), AccessLevel.Streamer | AccessLevel.SuperUser | AccessLevel.Admin | AccessLevel.Mod);
        UserAccess.WriteAccessList();

        SetupResponder(bombMessageResponder);
        SetupResponder(postGameMessageResponder);
        SetupResponder(missionMessageResponder);
        SetupResponder(miscellaneousMessageResponder);

        bombMessageResponder.leaderboard          = _leaderboard;
        postGameMessageResponder.leaderboard      = _leaderboard;
        miscellaneousMessageResponder.leaderboard = _leaderboard;

        bombMessageResponder.parentService = this;
    }
Example #5
0
    //Done when the bomb starts
    void OnActivate()
    {
        modSettings = GetComponent <KMModSettings>();
        settings    = JsonConvert.DeserializeObject <MySettings>(modSettings.Settings);

        //Randomises the song displayed at the bottom
        currentSong = Random.Range(0, 25);
        song.text   = songNames[currentSong];

        StartCoroutine(UpdateStages());
    }
    public IceCreamConfirm(BombCommander bombCommander, BombComponent bombComponent) :
        base(bombCommander, bombComponent)
    {
        _settings = new Settings();
        modInfo   = ComponentSolverFactory.GetModuleInfo(GetModuleType(), ShimData.HelpMessage + " Check the opening hours with !{0} hours.");
        KMModSettings modSettings = bombComponent.GetComponent <KMModSettings>();

        try
        {
            _settings = JsonConvert.DeserializeObject <Settings>(modSettings.Settings);
        }
        catch (Exception ex)
        {
            DebugHelper.LogException(ex, "Could not deserialize ice cream settings:");
            TwitchPlaySettings.data.ShowHours = false;
            TwitchPlaySettings.WriteDataToFile();
        }
    }
Example #7
0
    void Start()
    {
        MonoBehaviour[] scripts = MonoBehaviour.FindObjectsOfType <MonoBehaviour>();
        foreach (MonoBehaviour s in scripts)
        {
            IEnumerable <FieldInfo> fields = s.GetType().GetFields();
            foreach (FieldInfo f in fields)
            {
                if (f.FieldType.Equals(typeof(KMBombInfo)))
                {
                    KMBombInfo component = (KMBombInfo)f.GetValue(s);
                    if (component.OnBombExploded != null)
                    {
                        fakeInfo.Detonate += new FakeBombInfo.OnDetonate(component.OnBombExploded);
                    }
                    if (component.OnBombSolved != null)
                    {
                        fakeInfo.HandleSolved += new FakeBombInfo.OnSolved(component.OnBombSolved);
                    }
                    continue;
                }
            }
        }

        currentSelectable = GetComponent <TestSelectable>();

        KMBombModule[]  modules      = FindObjectsOfType <KMBombModule>();
        KMNeedyModule[] needyModules = FindObjectsOfType <KMNeedyModule>();
        fakeInfo.needyModules      = needyModules.ToList();
        currentSelectable.Children = new TestSelectable[modules.Length + needyModules.Length];
        for (int i = 0; i < modules.Length; i++)
        {
            KMBombModule mod = modules[i];

            currentSelectable.Children[i] = modules[i].GetComponent <TestSelectable>();
            modules[i].GetComponent <TestSelectable>().Parent = currentSelectable;

            fakeInfo.modules.Add(new KeyValuePair <KMBombModule, bool>(modules[i], false));
            modules[i].OnPass = delegate() {
                Debug.Log("Module Passed");
                fakeInfo.modules.Remove(fakeInfo.modules.First(t => t.Key.Equals(mod)));
                fakeInfo.modules.Add(new KeyValuePair <KMBombModule, bool>(mod, true));
                bool allSolved = true;
                foreach (KeyValuePair <KMBombModule, bool> m in fakeInfo.modules)
                {
                    if (!m.Value)
                    {
                        allSolved = false;
                        break;
                    }
                }
                if (allSolved)
                {
                    fakeInfo.Solved();
                }
                return(false);
            };
            modules[i].OnStrike = delegate() {
                Debug.Log("Strike");
                fakeInfo.HandleStrike();
                return(false);
            };
            KMModSettings settings = modules[i].GetComponent <KMModSettings>();
            if (settings != null)
            {
                try
                {
                    if (File.Exists("Assets/modSettings.json"))
                    {
                        settings.Settings = File.ReadAllText("Assets/modSettings.json");
                    }
                }
                catch
                {
                    //
                }
                settings.SettingsPath = "Assets/modSettings.json";
            }
        }

        for (int i = 0; i < needyModules.Length; i++)
        {
            currentSelectable.Children[modules.Length + i]         = needyModules[i].GetComponent <TestSelectable>();
            needyModules[i].GetComponent <TestSelectable>().Parent = currentSelectable;

            needyModules[i].OnPass = delegate()
            {
                Debug.Log("Module Passed");
                return(false);
            };
            needyModules[i].OnStrike = delegate()
            {
                Debug.Log("Strike");
                fakeInfo.HandleStrike();
                return(false);
            };

            KMModSettings settings = needyModules[i].GetComponent <KMModSettings>();
            if (settings != null)
            {
                try
                {
                    if (File.Exists("Assets/modSettings.json"))
                    {
                        settings.Settings = File.ReadAllText("Assets/modSettings.json");
                    }
                }
                catch
                {
                    //
                }
                settings.SettingsPath = "Assets/modSettings.json";
            }
        }

        currentSelectable.ActivateChildSelectableAreas();

        audioSource = gameObject.AddComponent <AudioSource>();
        KMAudio[] kmAudios = FindObjectsOfType <KMAudio>();
        foreach (KMAudio kmAudio in kmAudios)
        {
            kmAudio.HandlePlaySoundAtTransform += PlaySoundHandler;
        }
    }