public void OnFrameMove(Microsoft.DirectX.Direct3D.Device device, double totalTime, float elapsedTime) { switch (currentGameType) { case GameType.None: break; case GameType.Racing: if (race != null) { race.OnFrameMove(device, totalTime, elapsedTime); } break; case GameType.Bombing: if (bombing != null) { bombing.OnFrameMove(device, totalTime, elapsedTime); } break; case GameType.ScareCrow: if (scarecrow != null) { scarecrow.OnFrameMove(device, totalTime, elapsedTime); } break; } birds.OnFrameMove(device, totalTime, elapsedTime); }
public void OnFrameMove(Microsoft.DirectX.Direct3D.Device device, double totalTime, float elapsedTime) { if (airplaneMesh != null) { airplaneMesh.OnFrameMove(device, totalTime, elapsedTime); } scenery.OnFrameMove(device, totalTime, elapsedTime); birds.OnFrameMove(device, totalTime, elapsedTime); cursor3d.OnFrameMove(device, totalTime, elapsedTime); selectedObject.OnFrameMove(device, totalTime, elapsedTime); transparentObjectManager.OnFrameMove(device, totalTime, elapsedTime); toolBox.CursorPosition = cursor3d.Position.ToString(); }
public void OnFrameMove(Microsoft.DirectX.Direct3D.Device device, double totalTime, float elapsedTime) { if (startTime != 0) { if (cropsLeft > 0) { minutes = (int)Math.Floor((Program.Instance.CurrentTime - startTime) / 60); seconds = (int)Math.Floor((Program.Instance.CurrentTime - startTime) - minutes * 60); } if (cropsLeft < 0) { Program.Instance.CenterHud.ShowGameText(string.Format("Game over!\nYou defended the crops for {0} minutes and {1} seconds", minutes, seconds), 1000); } else { Program.Instance.CenterHud.ShowGameText(string.Format("Your time : {0}:{1}\nCrops remaining : {2}%", minutes, seconds.ToString("00"), (int)(Math.Floor(cropsLeft))), 1000); } } else { startTime = Program.Instance.CurrentTime; } if (totalTime > lastUpdate + 5) { if ((birds.TargetReached) || (currentTargetField == -1)) { if ((birds.TargetReached) && (currentTargetField != -1)) { if (!justArrived) { justArrived = true; } else { Retarget(); } } else { Retarget(); } } lastUpdate = totalTime; } if (birds.TargetReached) { if (currentTargetField != -1) { bool temp = birds.TargetReached; cropsLeft -= (double)(2 * elapsedTime); arrow.Position = new Vector3(cornfields[currentTargetField].Position.X, 3f, cornfields[currentTargetField].Position.Z); arrow.RotateYAngle = (float)totalTime; arrow.OnFrameMove(device, totalTime, elapsedTime); } } foreach (CornField field in cornfields) { field.OnFrameMove(device, totalTime, elapsedTime); } birds.OnFrameMove(device, totalTime, elapsedTime); if (birds.Scared) { currentTargetField = -1; birds.SetRandomTarget(); } }