Example #1
0
    /// <summary>
    ///
    /// </summary>
    protected override void Awake()
    {
        if (!photonView.IsMine || bl_CameraViewSettings.Instance.gamePlayerView == MFPSGamePlayerView.FirstPersonOnly)
        {
            enabled = false; return;
        }
        else
        {
            base.Awake();
        }

        if (!cacheReferences)
        {
            SwitchViewKey     = bl_CameraViewSettings.Instance.SwitchViewKey;
            playerReferences  = GetComponent <bl_PlayerReferences>();
            playerSettings    = playerReferences.playerSettings;
            playerNetwork     = playerReferences.playerNetwork;
            playerCamera      = playerSettings.PlayerCamera.transform;
            weaponCamera      = playerReferences.weaponCamera;
            cameraParent      = playerCamera.parent;
            cameraShaker      = playerReferences.cameraShaker;
            cameraRay         = playerReferences.cameraRay;
            defaultFPPosition = playerCamera.localPosition;
            defaultFPRotation = playerCamera.localEulerAngles;
#if UNITY_POST_PROCESSING_STACK_V2
            weaponCameraEffects = weaponCamera.GetComponent <PostProcessLayer>();
#endif
            cacheReferences = true;
        }

        SetDefaultView();
    }
Example #2
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="c"></param>
    void OnTriggerEnter(Collider c)
    {
        if (bl_GameManager.Instance.GameMatchState == MatchState.Waiting)
        {
            return;
        }
#if GR
        if (GetGameMode == GameMode.GR)
        {
            return;
        }
#endif
        // we only call Pickup() if "our" character collides with this PickupItem.
        // note: if you "position" remote characters by setting their translation, triggers won't be hit.

        PhotonView v = c.GetComponent <PhotonView>();
        if (PickupOnCollide && v != null && v.IsMine && c.CompareTag(bl_PlayerSettings.LocalTag))
        {
            Into            = true;
            PUM.LastTrigger = this;
            localPlayerIn   = v;
            if (CacheGun.Type == GunType.Knife)
            {
                if (v.GetComponentInChildren <bl_GunManager>(true).PlayerEquip.Exists(x => x != null && x.GunID == GunID))
                {
                    Equiped = true;
                }
                else
                {
                    Equiped = false;
                }
            }
            if (m_DetectMode == DetectMode.Raycast)
            {
                bl_CameraRay cr = v.GetComponentInChildren <bl_CameraRay>();
                if (cr != null)
                {
                    cr.SetActiver(true, uniqueLocal);
                }
            }
            else if (m_DetectMode == DetectMode.Trigger)
            {
                UIReferences.SetPickUp(true, GunID, this, Equiped);
            }
        }
    }
Example #3
0
 /// <summary>
 ///
 /// </summary>
 void OnTriggerExit(Collider c)
 {
     if (c.transform.CompareTag(bl_PlayerSettings.LocalTag) && Into)
     {
         Into = false;
         UIReferences.SetPickUp(false);
         if (localPlayerIn != null)
         {
             if (m_DetectMode == DetectMode.Raycast)
             {
                 bl_CameraRay cr = localPlayerIn.GetComponentInChildren <bl_CameraRay>();
                 if (cr != null)
                 {
                     cr.SetActiver(false, uniqueLocal);
                 }
             }
             localPlayerIn = null;
         }
     }
 }
Example #4
0
 protected override void OnDestroy()
 {
     base.OnDestroy();
     if (Into)
     {
         if (UIReferences != null)
         {
             UIReferences.SetPickUp(false);
         }
         if (localPlayerIn != null)
         {
             if (m_DetectMode == DetectMode.Raycast)
             {
                 bl_CameraRay cr = localPlayerIn.GetComponentInChildren <bl_CameraRay>();
                 if (cr != null)
                 {
                     cr.SetActiver(false, uniqueLocal);
                 }
             }
         }
     }
 }