Example #1
0
    public GameData.FIELD_POS FCalcNewSpot(GameData.FIELD_POS startSpot, GameData.POSSESSION hasBall, int dis)
    {
        GameData.FIELD_POS newSpot;
        newSpot.mSide = startSpot.mSide;

        if (startSpot.mSide == hasBall)
        {
            newSpot.mYardMark = startSpot.mYardMark + dis;
        }
        else
        {
            newSpot.mYardMark = startSpot.mYardMark - dis;
        }

        if (newSpot.mYardMark > 50)
        {
            newSpot.mYardMark = 50 - (newSpot.mYardMark - 50);
            if (startSpot.mSide == GameData.POSSESSION.HOME)
            {
                newSpot.mSide = GameData.POSSESSION.AWAY;
            }
            else
            {
                newSpot.mSide = GameData.POSSESSION.HOME;
            }
        }

        if (newSpot.mYardMark < 0)
        {
            newSpot.mYardMark = 0;
        }

        return(newSpot);
    }
Example #2
0
    public void FGFX_PlaceFirstDownMarkers(GameData.FIELD_POS start, GameData.FIELD_POS firstDown)
    {
        Vector3 pos = FGetPositionOnFieldInWorldCoordinates(start);

        pos.x = 0;
        rDownStart.transform.position = pos;
        pos   = FGetPositionOnFieldInWorldCoordinates(firstDown);
        pos.x = 0;
        rFirstDown.transform.position = pos;
    }
Example #3
0
 // Just returns the distance in yardage between two things. No sign at all.
 public int FGetRawYardDistance(GameData.FIELD_POS pos1, GameData.FIELD_POS pos2)
 {
     if (pos1.mSide == pos2.mSide)
     {
         return(System.Math.Abs(pos2.mYardMark - pos1.mYardMark));
     }
     else
     {
         return((50 - pos1.mYardMark) + (50 - pos2.mYardMark));
     }
 }
Example #4
0
 public Vector3 FGetPositionOnFieldInWorldCoordinates(GameData.FIELD_POS fPos)
 {
     if (fPos.mSide == GameData.POSSESSION.HOME)
     {
         Vector3 pos     = rHome.transform.position;
         float   percent = fPos.mYardMark * 2f / 100f;
         pos = Vector3.Lerp(rHome.transform.position, rCenter.transform.position, percent);
         return(pos);
     }
     else
     {
         Vector3 pos     = rAway.transform.position;
         float   percent = fPos.mYardMark * 2f / 100f;
         pos = Vector3.Lerp(rAway.transform.position, rCenter.transform.position, percent);
         return(pos);
     }
 }
Example #5
0
    public void FSetBallText(GameData.FIELD_POS pos)
    {
        string sPos = "";

        if (pos.mSide == GameData.POSSESSION.HOME)
        {
            sPos += "HOME";
        }
        else
        {
            sPos += "AWAY";
        }

        sPos += " " + pos.mYardMark;

        mTxtBallSpot.text = sPos;
    }
Example #6
0
    /**********************************************************************
    *  So if we pass in HOME 47, and AWAY 37, we should get a result of +16.
    *
    *  Might have to return a FIELD_POS struct, with the mSide representing the
    *  direction.
    **********************************************************************/
    public int FCalcDistance(GameData.FIELD_POS pos1, GameData.FIELD_POS pos2, GameData.POSSESSION hasBall)
    {
        int dis;

        if (pos2.mSide == pos1.mSide)
        {
            dis = pos2.mYardMark - pos1.mYardMark;
            if (hasBall != pos1.mSide)
            {
                dis *= -1;
            }
        }
        else
        {
            dis = (50 - pos2.mYardMark) + (50 - pos1.mYardMark);
            if (pos1.mSide != hasBall)
            {
                dis *= -1;
            }
        }

        return(dis);
    }