// HANDLERS void OnComponentPlayerActivated(ComponentPlayerMPOwner localPlayer) { if (Game.Instance.GameLog) { Debug.Log(">>>> PLAYER ACTIVATED :: m_LocalPlayer=" + (m_LocalPlayer ? m_LocalPlayer.GetInstanceID().ToString() : "null") + ", localPlayer=" + localPlayer.GetInstanceID()); } m_LocalPlayer = localPlayer; InitHud(); GotoIdleState(); }
void OnComponentPlayerDeactivated(ComponentPlayerMPOwner localPlayer) { if (Game.Instance.GameLog) { Debug.Log(">>>> PLAYER DEACTIVATED :: m_LocalPlayer=" + (m_LocalPlayer ? m_LocalPlayer.GetInstanceID().ToString() : "null") + ", localPlayer=" + localPlayer.GetInstanceID()); } if (m_LocalPlayer != localPlayer) { return; } DeinitHud(); m_LocalPlayer = null; }
void LateUpdate() { if (CurrentWeapon == E_WeaponID.None) { return; } WeaponBase weapon = Weapons[CurrentWeapon]; if (weapon.IsBusy()) { weapon.PrepareForFire(false); Owner.BlackBoard.Desires.WeaponTriggerUp = false; if (!Owner.IsInCover && !weapon.IsFiring()) { float fov = GameCamera.Instance.DefaultFOV; if (!Mathf.Approximately(GameCamera.Instance.DesiredCameraFov, fov)) { GameCamera.Instance.SetFov(fov, 60); } } return; } if (Owner.BlackBoard.Desires.WeaponTriggerOn && !weapon.UseFireUp || Owner.BlackBoard.Desires.WeaponTriggerUp && weapon.UseFireUp && Owner.CanFire()) { if (!Owner.IsInCover) { float fov = GameCamera.Instance.DefaultFOV; fov *= Owner.WeaponComponent.GetCurrentWeapon().FireFovModificator; if (!Mathf.Approximately(GameCamera.Instance.DesiredCameraFov, fov)) { GameCamera.Instance.SetFov(fov, 60); } } if ((weapon.ClipAmmo > 0) && weapon.PreparedForFire) { AgentActionAttack a = AgentActionFactory.Create(AgentActionFactory.E_Type.Attack) as AgentActionAttack; ComponentPlayerMPOwner MPOwner = Owner.PlayerComponent as ComponentPlayerMPOwner; if (null != MPOwner) { a.AttackDir = MPOwner.GetRealFireDir(); //Owner.BlackBoard.FireDir; } else { Debug.LogWarning("Missing ComponentPlayerMPOwner on " + Owner); a.AttackDir = Owner.BlackBoard.FireDir; } a.FromPos = GetCurrentWeapon().ShotPos; Owner.BlackBoard.ActionAdd(a); } else { weapon.PrepareForFire(true); Owner.BlackBoard.Desires.WeaponTriggerUp = false; return; } if (weapon.IsFullAuto == false) { Owner.BlackBoard.Desires.WeaponTriggerOn = false; } Owner.BlackBoard.Desires.WeaponTriggerUp = false; } else if (Owner.BlackBoard.Desires.WeaponTriggerOn && weapon.UseFireUp) { weapon.PrepareForFire(true); if (!Owner.IsInCover) { float fov = GameCamera.Instance.DefaultFOV; fov *= Owner.WeaponComponent.GetCurrentWeapon().FireFovModificator; if (!Mathf.Approximately(GameCamera.Instance.DesiredCameraFov, fov)) { GameCamera.Instance.SetFov(fov, 60); } } } else { weapon.PrepareForFire(false); if (!Owner.IsInCover && Owner.IsAlive) { float fov = GameCamera.Instance.DefaultFOV; if (!Mathf.Approximately(GameCamera.Instance.DesiredCameraFov, fov)) { GameCamera.Instance.SetFov(fov, 60); } } } }
void OnPlayerDeactivated(ComponentPlayerMPOwner localPlayer) { IsSpawned = false; }
// HANDLERS void OnPlayerActivated(ComponentPlayerMPOwner localPlayer) { IsSpawned = true; }