public void PickPickup(BrPickupBase pickup, BrCharacterController player) { if (pickup.Index >= 0) { photonView.RPC(nameof(PickPickupRpc), RpcTarget.All, pickup.Index, player.UserID); } }
public void RecordPickup(BrPickupBase pickUp) { switch (pickUp) { case BrChestPickup brChestPickup: thisMatchStat.SupplyCreates++; break; case BrWeaponPickup brWeaponPickup: thisMatchStat.GunsCollected++; break; default: thisMatchStat.ItemsCollected++; break; } }
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)); }; }
public void InstantiatePickup(BrPickupBase prefab, Vector3 pos) { AddPickup(Instantiate(prefab, pos, Quaternion.identity)); }
public void AddPickup(BrPickupBase pickup) { pickup.Index = allPickups.Count; allPickups.Add(pickup); }