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); }
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(); }
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); } }