public Raycaster(LayerMask layerMask, Vector2 direction, float margin, RaycastState state, RaycastOrigin overrideOrigin = RaycastOrigin.DEFAULT) { this.layerMask = layerMask; this.direction = direction; this.margin = margin; this.state = state; hRayCount = DataAccess.Instance.EngineMoveData.horizontalRays; vRayCount = DataAccess.Instance.EngineMoveData.verticalRays; if (overrideOrigin != RaycastOrigin.DEFAULT) { origin = overrideOrigin; } else { if (direction == Vector2.up) { origin = RaycastOrigin.TOP_LEFT; } else if (direction == Vector2.down) { origin = RaycastOrigin.BOTTOM_LEFT; } else if (direction == Vector2.left) { origin = RaycastOrigin.BOTTOM_LEFT; } else if (direction == Vector2.right) { origin = RaycastOrigin.BOTTOM_RIGHT; } } }
void Awake() { animator = GetComponent <Animator>(); spriteRenderer = GetComponent <SpriteRenderer>(); boxCollider = GetComponent <BoxCollider2D>(); state = new RaycastState(); }
public RaycasterCheckTouch(LayerMask layerMask, Vector2 direction, float margin, RaycastState state) : base(layerMask, direction, margin, state, RaycastOrigin.CENTER_LEFT) { offsetPoints = new Vector2[] { raycastStart.centerLeft, raycastStart.centerRight }; }
public RaycasterVerticalDirection(LayerMask layerMask, Vector2 direction, float margin, RaycastState state) : base(layerMask, direction, margin, state) { maxSlopeDescendingAngle = DataAccess.Instance.EngineMoveData.MaxSlopeDescend; }
public RaycasterHorizontalDirection(LayerMask layerMask, Vector2 direction, float margin, RaycastState state) : base(layerMask, direction, margin, state) { maxSlopeAngle = DataAccess.Instance.EngineMoveData.MaxSlopeClimb; noSlowSlopeAngle = DataAccess.Instance.EngineMoveData.NoSlowSlopeClimp; }
public RaycasterMoveDirection(LayerMask layerMask, Vector2 direction, float margin, RaycastState state) : base(layerMask, direction, margin, state) { }