private void Start() { random = BrRandom.CreateNew(); innerIndexies = Enumerable.Range(0, locations.Count).ToList(); //New area BrKillZone.Instance.OnNewCircleExtented += (curr, target, delay, shrinkTime) => { StartCoroutine(SelectPositionCoroutine(curr, target)); }; }
// Use this for initialization IEnumerator Start() { random = BrRandom.CreateNew(); scenePickups.ForEach(sp => sp.Evaluate(random)); var delta = Mathf.Max(placeHolders.Count / 60, 2); for (int i = 0; i < placeHolders.Count;) { for (int j = 0; j < delta && i < placeHolders.Count; j++, i++) { placeHolders[i].Evaluate(random); } yield return(null); } }
private void Awake() { random = BrRandom.CreateNew(); BrPlayerTracker.Instance.OnPlayerDead += (player, killer, weaponName) => { Transform playerTransform = player.transform; var angle = random.Next(0, 360); var pos = playerTransform.position + Quaternion.Euler(0, angle, 0) * playerTransform.forward; var pos2 = playerTransform.position + Quaternion.Euler(0, angle + random.Next(50, 310), 0) * playerTransform.forward; var weapon = player.WeaponController.CurrWeapon; BrPickupBase pickup = null; if (weapon) { pickup = WeaponsPrefabs.FirstOrDefault(w => w.WeaponName == weapon.gameObject.name); } if (pickup == null) { pickup = Prefabs[random.Next(Prefabs.Count)]; } BrPickupManager.Instance.AddPickup( Instantiate(pickup, pos, Quaternion.identity)); pickup = Prefabs[random.Next(0, Prefabs.Count)]; BrPickupManager.Instance.AddPickup( Instantiate(pickup, pos2, Quaternion.identity)); }; }