Пример #1
0
    // -----------------------------
    //	public api
    // -----------------------------

    #region publicAPI

    #endregion


    // -----------------------------
    //	private api
    // -----------------------------

    #region privateAPI
    Vector3 getCenterPos(List <SpritePoint> pointList)
    {
        float   counter     = 0.0f;
        Vector3 returnValue = Vector3.zero;

        foreach (SpritePoint point in pointList)
        {
            returnValue += spriteDeformerAnimation.SpritePositionToGlobal(point.spritePosition + point.offset2d);
            counter     += 1.0f;
        }

        return(returnValue / counter);
    }
Пример #2
0
 void Update()
 {
     transform.position = (Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition);
     for (int i = 0; i < footPoints.Count; i++)
     {
         var          point         = footPoints[i];
         Vector2      footGlobalPos = spriteDeformerAnimation.SpritePositionToGlobal(point.spritePosition);
         Vector2      orign         = new Vector2(footGlobalPos.x, transform.position.y);
         RaycastHit2D hit           = Physics2D.Raycast(orign, -Vector2.up);
         if (hit.collider != null)
         {
             Vector2 newOffset = spriteDeformerAnimation.GlobalPositionToSpritePosition(hit.point + hitOffset) - point.spritePosition;
             point.offset2d = newOffset;
             spriteDeformerAnimation.dirty_offset = true;
         }
     }
 }