예제 #1
0
 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;
         }
     }
 }
예제 #2
0
 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)
 {
 }