Create a wrapper class and return that instead.
public class WrapperClass
{
public DNControl DayNightControl {get; internal set;}
public MapHandler MapHandler {get; internal set;}
public TemperatureControl TemperatureControl {get; internal set;}
}
public static class GameControl
{
public static WrapperClass GetEverything()
{
var wrapper = new WrapperClass();
wrapper.DayNightControl = DNControl.Instance;
wrapper.MapHandler = MapHandler.Instance;
wrapper.TemperatureControl = TemperatureControl.Instance;
return wrapper;
}
// if that's still pertinent you may keep your individual methods too
}
I should mention though: I really do not see the point of keeping those together to begin with. There may be a larger picture I'm not seeing here but it seems to me that your actual way of simply being able to call your individual singletons from a static class is fine as it is. You may benefit from giving more details on the added value you expect out of this.