示例#1
0
 void SmoothPushing()
 {
     if (ExtraMath.IsEqual(rb.velocity.x, 0f, 0.5f))
     {
         if (ExtraMath.IsEqual(rb.velocity.y, 0f, 0.5f))
         {
             base.LockSprites("xyz");
         }
         else
         {
             base.LockSprites("xz");
         }
     }
     else
     {
         if (ExtraMath.IsEqual(rb.velocity.y, 0f, 0.5f))
         {
             base.LockSprites("yz");
         }
         else
         {
             base.LockSprites("z");
         }
     }
 }
示例#2
0
 protected virtual void DoSpriteLock(Vector2 direction)
 {
     if (ExtraMath.IsEqual(direction.x, 0))
     {
         if (ExtraMath.IsEqual(direction.y, 0))
         {
             LockSprites("xyz");
         }
         else
         {
             LockSprites("xz");
         }
     }
     else
     {
         if (ExtraMath.IsEqual(direction.y, 0))
         {
             LockSprites("yz");
         }
         else
         {
             LockSprites("z");
         }
     }
 }
示例#3
0
    public virtual void UpdateDimensions(Vector2 newLength)
    {
        Vector2 intDimensions = new Vector2(Mathf.Ceil(newLength.x), Mathf.Ceil(newLength.y));

        //if (!hasBeenInitialized) {
        Initialize();
        //}
        bool isVisible = (!ExtraMath.IsEqual(newLength.x, 0) && !ExtraMath.IsEqual(newLength.y, 0));

        hitBox.enabled = isVisible;
        rend.enabled   = isVisible;
        if (isVisible)
        {
            rend.size     = intDimensions;
            hitBox.offset = new Vector2(intDimensions.x / 2, dimensions.y / 2);
            hitBox.size   = newLength;
        }
        //dimensions = intDimensions;
    }