private void GeneratePlatform(PlatformType platformType, int platformCount, Color color) { List <Platform> platform = new List <Platform>(platformCount); Logging.Log(LogType.LOG, "Initialsing " + platformCount + " platforms"); for (int i = 0; i < platformCount; ++i) { Platform platformObject = null; // Instantiate specific platform object based on what platform type will be generated switch (platformType) { case PlatformType.STATIC_PLATFORM: platformObject = new StaticPlatform(); break; case PlatformType.MOVING_PLATFORM: platformObject = new MovingPlatform(); break; } // Initialise platform settings platformObject.platformSize = new PlatformSize(50, 20); platformObject.platformColor = new PlatformColor(color.R, color.G, color.B); platformObject.platformPosition = new PlatformPosition(m_Random.Next(0, width - 50), m_Random.Next(height, m_LevelDistance)); // Push all initialised values to picturebox control platformObject.Set(); // Add to moving platform list platform.Add(platformObject); // Add this picturebox control to the from control list // for it to be rendered m_Controls.Add(platformObject.Get()); } // Add platform type list to the platforms dictionary m_Platforms.Add(platformType, platform); }