예제 #1
0
        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);
        }