Beispiel #1
0
        public void OnFrameMove(Microsoft.DirectX.Direct3D.Device device, double totalTime, float elapsedTime)
        {
            if (parameters.SceneryType == SceneryParameters.SceneryTypeEnum.Full3D)
            {
                sky.OnFrameMove(device, totalTime, elapsedTime);
                foreach (SceneryObject sceneryObject in sceneryObjects)
                {
                    sceneryObject.OnFrameMove(device, totalTime, elapsedTime);
                }
                foreach (Windmill mill in windmills)
                {
                    mill.OnFrameMove(device, totalTime, elapsedTime);
                }
                foreach (Flag flag in flags)
                {
                    flag.OnFrameMove(device, totalTime, elapsedTime);
                }
#if EDITOR
                foreach (Gate gate in gates)
                {
                    gate.OnFrameMove(device, totalTime, elapsedTime);
                }
#endif
                vegetation.OnFrameMove(device, totalTime, elapsedTime);
                ground.OnFrameMove(device, totalTime, elapsedTime);
                ground00.OnFrameMove(device, totalTime, elapsedTime);
                ground01.OnFrameMove(device, totalTime, elapsedTime);
                ground02.OnFrameMove(device, totalTime, elapsedTime);
                ground10.OnFrameMove(device, totalTime, elapsedTime);
                ground12.OnFrameMove(device, totalTime, elapsedTime);
                ground20.OnFrameMove(device, totalTime, elapsedTime);
                ground21.OnFrameMove(device, totalTime, elapsedTime);
                ground22.OnFrameMove(device, totalTime, elapsedTime);
                //windsock.OnFrameMove(device, totalTime, elapsedTime);
                if (tractor != null)
                {
                    tractor.OnFrameMove(device, totalTime, elapsedTime);
                }
                lensFlare.OnFrameMove(device, totalTime, elapsedTime);
                foreach (Water water in waters)
                {
                    water.OnFrameMove(device, totalTime, elapsedTime);
                }
#if !EDITOR
                if ((Effects.Reflection.Instance != null) &&
                    (Effects.Reflection.ReflectionDetail == RCSim.Effects.Reflection.ReflectionDetailEnum.High))
                {
                    Effects.Reflection.Instance.Invalidate();
                }
#endif
            }
            else
            {
                if (photoScenery != null)
                {
                    photoScenery.OnFrameMove(device, totalTime, elapsedTime);
                }
                if (lensFlare != null)
                {
                    lensFlare.OnFrameMove(device, totalTime, elapsedTime);
                }
            }
        }