private void setupEnvironments(Car car, World world, Game game, Move move) { TilePos.TileSize = game.TrackTileSize; GlobalMap.InstanceInit(world); GlobalMap.Instance.SetupEnvironment(world, game); AngleReachEvent.setupEnvironment(game); MoveToAngleFunction.setupEnvironment(world); MoveToPoint.setupEnvironment(world); PhysicExtensions.setupEnvironment(game); PhysicEventsCalculator.setupEnvironment(game, world); CollisionSide.SetupEnvironment(game); CollisionCircle.SetupEnvironment(game); CollisionDetector.SetupEnvironment(game, GlobalMap.Instance); map.SetupEnvironment(car, GlobalMap.Instance); path.SetupEnvironment(car, GlobalMap.Instance, world, game); foreach (IAction action in actions.Values) { action.setupEnvironment(car, world, game, path); } foreach (AdditionalPoints action in additionalPointsActions) { action.setupEnvironment(car, world, game, path); } }