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); }
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; }
// 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)); } }
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); } }
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; }
/********************************************************************** * 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); }