Example #1
0
 private void Initialize()
 {
     if (!character)
     {
         character = GameObject.Find("Character");
     }
     if (!boxCollider)
     {
         boxCollider = GetComponent <BoxCollider2D>();
     }
     if (SettingsIsNull)
     {
         settings = CreateInstance <RaycastSettings>();
     }
     if (InitializePlatformerController)
     {
         platformerController = GetComponent <PlatformerController>();
     }
     if (InitializeLayerMaskController)
     {
         layerMaskController = GetComponent <LayerMaskController>();
     }
     if (InitializePhysicsController)
     {
         physicsController = GetComponent <PhysicsController>();
     }
     if (DataIsNull)
     {
         Data = CreateInstance <RaycastData>();
     }
     Data.OnInitialize(ref boxCollider, ref character, settings);
 }
Example #2
0
 private void Initialize()
 {
     if (!raycastController)
     {
         raycastController = GetComponent <RaycastController>();
     }
     if (!layerMaskController)
     {
         layerMaskController = GetComponent <LayerMaskController>();
     }
     if (!physicsController)
     {
         physicsController = GetComponent <PhysicsController>();
     }
     if (!Data)
     {
         Data = CreateInstance <Data>();
     }
     Data.OnInitialize();
 }
Example #3
0
    private bool CheckForPlayer()
    {
        RaycastHit hit;

        Vector3 eyeLevel  = new Vector3(player.position.x, player.position.y + 1.5f, player.position.z);
        Vector3 footLevel = new Vector3(player.position.x, player.position.y + 0.15f, player.position.z);

        currentLayerMask = LayerMaskController.GetLayerMaskForRaycast(player.gameObject.layer);

        bool checkEyeLevel  = false;
        bool checkFootLevel = false;

        if (Physics.Linecast(transform.position, eyeLevel, out hit, currentLayerMask))
        {
            eyeParent.hitPoint = hit.point;
            Debug.DrawLine(transform.position, hit.point, Color.red, .1f);


            //so the simpleEye can run WallCheck;
            currentPlayerPoint = hit.point;

            if ((hit.collider.CompareTag("Player") || hit.collider.CompareTag("Clickable")) && (WallCheck(hit.point)))
            {
                checkEyeLevel = true;
            }


            else
            {
                checkEyeLevel = false;
            }
        }

        //if (Physics.Linecast(transform.position, footLevel, out hit, currentLayerMask))
        //{

        //    eyeParent.hitPoint = hit.point;
        //    Debug.DrawLine(transform.position, hit.point, Color.red, .1f);


        //    //so the simpleEye can run WallCheck;
        //    currentPlayerPoint = hit.point;

        //    if (hit.collider.CompareTag("Player") && (WallCheck(hit.point)))
        //        checkFootLevel = true;


        //    else
        //        checkFootLevel = false;
        //}

        // Debug.Log("eyelevel " + checkEyeLevel + " footlevel " + checkFootLevel);


        if (checkEyeLevel)// || checkFootLevel)
        {
            eyeParent.hittingPlayer = true;
            return(true);
        }

        else
        {
            eyeParent.hittingPlayer = false;
            return(false);
        }
    }