private void Update() { if (Input.GetButtonDown(EFire.Fire1.ToString())) { _fireChanges.OnNext(EFire.Fire1); } if (Input.GetButtonDown(EFire.Fire2.ToString())) { _fireChanges.OnNext(EFire.Fire2); } if (Input.GetButtonDown(EFire.Fire3.ToString())) { _fireChanges.OnNext(EFire.Fire3); } if (Input.GetButtonDown(EFire.Fire4.ToString())) { _fireChanges.OnNext(EFire.Fire4); } }
private void Awake() { _helpScore = new HelpScore(0, _gameSettings.MaximumHelps); _scoreChanges.OnNext(_helpScore); _countDown = TimeSpan.FromSeconds(_gameSettings.GameDurationSeconds); _countDownChanges.OnNext(_countDown); _worldChanges.OnNext(_currentWorldStatus); _mumblingOwners = new Dictionary <AudioClip, KeyValuePair <HumanController, GhostController> >(); List <int> randomIndexList = new List <int>(); for (int i = 0; i < _allMumbles.Length; i++) { randomIndexList.Add(i); } var goes = GameObject.FindGameObjectsWithTag("spawningPositions"); var spawningPoints = new TupleSpawnPoint[goes.Length]; for (var index = 0; index < goes.Length; index++) { var go = goes[index]; spawningPoints[index] = new TupleSpawnPoint(); spawningPoints[index].HumanPosition = go.transform.Find("Human").transform; spawningPoints[index].GhostPosition = go.transform.Find("Ghost").transform; } int n = spawningPoints.Length; while (n > 1) { int k = UnityEngine.Random.Range(0, n--); TupleSpawnPoint temp = spawningPoints[n]; spawningPoints[n] = spawningPoints[k]; spawningPoints[k] = temp; } for (int i = 0; i < _allMumbles.Length; i++) { var randomIndex = UnityEngine.Random.Range(0, randomIndexList.Count); var index = randomIndexList[randomIndex]; randomIndexList.RemoveAt(randomIndex); if (i >= spawningPoints.Length) { Debug.LogError("You need as many spawn points as mumble sounds"); return; } var mumble = _allMumbles[index]; var longMumble = _allLongMumbles[index]; var ehMumble = _allEhMumbles[index]; var positions = spawningPoints[index]; var notesConfiguration = GetRandomNotesConfiguration(); var humanInstance = Instantiate(_humanControllerPrefab); humanInstance.transform.position = positions.HumanPosition.position; humanInstance.OnSuccess += OnHumanSuccess; humanInstance.SetNoteConfiguration(notesConfiguration); humanInstance.SetMumbling(mumble); humanInstance.SetLongMumbling(longMumble); humanInstance.SetEhMumble(ehMumble); var ghostInstance = Instantiate(_ghostControllerPrefab); ghostInstance.transform.position = positions.GhostPosition.position; ghostInstance.SetMumbling(mumble); ghostInstance.SetNoteConfiguration(notesConfiguration); _mumblingOwners[mumble] = new KeyValuePair <HumanController, GhostController>(humanInstance, ghostInstance); } }
private void NotifyListeners() { _utcNowChanged.OnNext(UtcNow); }