void CalcAbroad() { for (int i = 0; i < engineModelsList.Count; i++) { EngineModel engMd = engineModelsList[i]; if (engMd.GetX() < 0 || engMd.GetY() < 0 || engMd.GetX() + engMd.GetFixture().GetLength(0) > width || engMd.GetY() + engMd.GetFixture().GetLength(0) > height) { engMd.OnAbroad(); } } }
void CalcColisions() { int[,] colisionMap = GetColisionMap(); for (int i = 0; i < engineModelsList.Count; i++) { EngineModel engMd = engineModelsList[i]; bool haveColision = CheckColision( colisionMap, engMd.GetFixture(), (int)engMd.GetX(), (int)engMd.GetY() ); if (haveColision) { engMd.OnColision(); } } }
public int[,] GetColisionMap() { int[,] colisionMap = new int[width, height]; for (int i = 0; i < colisionMap.GetLength(0); i++) { for (int j = 0; j < colisionMap.GetLength(1); j++) { colisionMap[i, j] = 0; } } for (int i = 0; i < engineModelsList.Count; i++) { EngineModel engMd = engineModelsList[i]; ImposeFixture( colisionMap, engMd.GetFixture(), (int)engMd.GetX(), (int)engMd.GetY() ); } return(colisionMap); }