public override void OnAwake() { aiController = ((SharedAiCharacterController)base.Owner.GetVariable("AiCharacterController")).Value; characterController = aiController.character; aiBehaviour = aiController.aiBehaviour; }
public void Show(BrCharacterController victim, BrCharacterController killer, string weaponName) { victimText.text = victim.UserID; if (killer) { killerText.gameObject.SetActive(true); killerText.text = killer.UserID; if (killer.WeaponController.CurrWeapon != null && killer.WeaponController.Armed) { weapon.sprite = killer.WeaponController.CurrWeapon.Icon; } else { weapon.sprite = BrLogManager.Instance.melleIcon; } } else { killerText.gameObject.SetActive(false); weapon.sprite = BrLogManager.Instance.killIcon; } transform.SetSiblingIndex(0); director.Play(); }
public void PickPickup(BrPickupBase pickup, BrCharacterController player) { if (pickup.Index >= 0) { photonView.RPC(nameof(PickPickupRpc), RpcTarget.All, pickup.Index, player.UserID); } }
private void Initialize() { if (isInitialized) { return; } isInitialized = true; var collider = GetComponentInParent <CapsuleCollider>(); if (collider == null) { Debug.LogError("Collider not found!!!"); } if (!Modules.ContainsKey(collider)) { Modules.Add(collider, this); } characterModel = GetComponentInParent <BrCharacterModel>(); characterController = GetComponentInParent <BrCharacterController>(); characterController.GetComponent <BrCharacterHitEffect>().OnHit.AddListener(() => { ShowForSeconds(OnFireShowDuration); }); characterController.GetComponent <BrWeaponController>().OnFire.AddListener(() => { ShowForSeconds(OnHiShowDuration); }); }
public void Initialize(BrWeapon weapon) { enabled = true; BulletModel.gameObject.SetActive(true); HitFx.gameObject.SetActive(false); OwnerCharacterController = weapon.WeaponController.CharacterController; _weapon = weapon; _range = weapon.BulletRange; }
private void PlayerDead(BrCharacterController victom, BrCharacterController killer, string weaponName) { if (killer && killer.IsMaster) { UpdateTexts(++killCount); } if (victom.IsMaster) { gameObject.SetActive(false); } }
private void Awake() { BrPlayerTracker.Instance.OnActivePlayerChange += (preActivePlayer, nextActivePlayer) => { player = nextActivePlayer; if (preActivePlayer && !preActivePlayer.IsMaster) { Show(); } }; BrPlayerTracker.Instance.OnLastPlayerLeft += controller => OnHide.Invoke(); }
private void OnTriggerStay(Collider other) { if (_currentPlayer) { return; } var controller = other.GetComponent <BrCharacterController>(); if (controller && controller.isMine && CanPickup(controller)) { _currentPlayer = controller; _timeToGetReward = Duration; } }
private void Lose(BrCharacterController player) { var profile = player.profile; RemoteWinerName.text = player.UserID; StatText.text = BrExpManager.CalLevel(profile.PlayerStat.Experience) + "\n" + profile.PlayerStat.TotalWins + "\n" + profile.PlayerStat.TotalKills; Health.fillAmount = player.Health / (float)player.MaxHealth; Shield.fillAmount = player.Shield / (float)player.MaxShield; RemoteWinerDirector.Play(); }
private void OnTriggerExit(Collider other) { if (!_currentPlayer) { return; } var controller = other.GetComponent <BrCharacterController>(); if (_currentPlayer == controller) { _currentPlayer = null; _timeToGetReward = 0; if (Image) { Image.fillAmount = 0; } } }
private void Awake() { // Get local player BrPlayerTracker.Instance.OnMasterPlayerRegister += player => masterCharacter = player; // New circle BrKillZone.Instance.OnNewCircle += (center, radoious) => { this.center = center; this.radoious = radoious; if (firstTime) { OnFirstArea.Invoke(); } else { OnNewArea.Invoke(); } firstTime = false; isShirinking = false; }; // Shrinking BrKillZone.Instance.Shrinking += time => { if (!isShirinking) { OnStartShrinking.Invoke(); isShirinking = true; } counter.text = time.ToString() + "s"; }; // Wait for shrink BrKillZone.Instance.OnWaitForShrink += time => { counter.text = time.ToString() + "s"; }; }
private void OnEnable() { if (_characterController) { return; } _characterController = GetComponentInParent <BrCharacterController>(); virtualCamera = GetComponent <CinemachineVirtualCamera>(); transform.SetParent(null); virtualCamera.Priority = 10; // active if only this is master player virtualCamera.gameObject.SetActive(_characterController.IsMaster); BrPlayerTracker.Instance.OnActivePlayerChange += (player, activePlayer) => { if (player == _characterController) { gameObject.SetActive(false); } if (activePlayer == _characterController) { gameObject.SetActive(true); } }; _characterController.ParachuteState.OnLanding.AddListener((() => { if (_characterController.IsMaster) { transform.position = BrFlyCutScene.Instance.VirtualCamera.transform.position; } transform.rotation = BrFlyCutScene.Instance.VirtualCamera.transform.rotation; })); }
void Awake() { // master player enter BrPlayerTracker.Instance.OnMasterPlayerRegister += player => { _player = player; _player.OnHealthChange += HealthBar.OnUpdateBar; _player.OnShieldChange += ShieldBar.OnUpdateBar; _player.WeaponController.OnStatChange += WeaponStatChange; _player.ParachuteState.OnLanding.AddListener(() => { HealthBar.Initialize(_player.Health, _player.MaxHealth); ShieldBar.Initialize(_player.Shield, _player.MaxShield); OnShow.Invoke(); WeaponStatChange(_player.WeaponController); }); _player.OnDead.AddListener((() => OnHide.Invoke())); }; }
private void Awake() { gameObject.SetActive(false); AimJoystick.SetActive(false); MovementJoystick.SetActive(false); BrPlayerTracker.Instance.OnMasterPlayerRegister += player => { if (player.IsAi) { return; } masterCharacter = player; gameObject.SetActive(true); player.ParachuteState.OnOpenPara.AddListener(() => { MovementJoystick.SetActive(true); }); player.ParachuteState.OnLanding.AddListener(() => { AimJoystick.SetActive(true); }); player.OnDead.AddListener(() => { AimJoystick.SetActive(false); MovementJoystick.SetActive(false); }); }; }
protected override void GetReward(BrCharacterController currentPlayer) { base.GetReward(currentPlayer); currentPlayer.Shield += Sheild; }
protected override bool CanPickup(BrCharacterController controller) { return(controller.NeedShield); }
protected override void GetReward(BrCharacterController currentPlayer) { base.GetReward(currentPlayer); currentPlayer.Health += Health; }
private void OnEnable() { _weaponController = GetComponentInParent <BrWeaponController>(); _player = GetComponentInParent <BrCharacterController>(); }
public void Initialize(BrCharacterController characterController) { _controller = characterController; }
protected override bool CanPickup(BrCharacterController controller) { return(controller.WeaponController.CanPickupAmmo()); }
protected virtual bool CanPickup(BrCharacterController controller) { return(true); }
protected override void GetReward(BrCharacterController currentPlayer) { base.GetReward(currentPlayer); currentPlayer.WeaponController.PickupAmmo(BulletCount); }
protected virtual void GetReward(BrCharacterController currentPlayer) { BrPickupManager.Instance.PickPickup(this, currentPlayer); }
// Start is called before the first frame update void Start() { characterController = GetComponentInParent <BrCharacterController>(); navMeshAgent = GetComponentInParent <NavMeshAgent>(); }
protected override void GetReward(BrCharacterController player) { base.GetReward(player); player.WeaponController.PickupWeapon(WeaponName); }
private void Win(BrCharacterController player) { LocalWinerName.text = player.UserID; WinnerDirector.Play(); }