Ejemplo n.º 1
0
    // 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();
    }
Ejemplo n.º 2
0
    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;
    }
Ejemplo n.º 3
0
    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);
                }
            }
        }
    }
Ejemplo n.º 4
0
 void OnPlayerDeactivated(ComponentPlayerMPOwner localPlayer)
 {
     IsSpawned = false;
 }
Ejemplo n.º 5
0
        // HANDLERS

        void OnPlayerActivated(ComponentPlayerMPOwner localPlayer)
        {
            IsSpawned = true;
        }