/// <summary> /// Create moveable game model /// </summary> /// <param name="setType">Set type</param> /// <param name="setPositionMatrix">Set position matrix</param> public AnimatedGameObject(GameManager.AnimatedTypes setType, Matrix setPositionMatrix) : this(setType, setPositionMatrix, DropObject.None) { }
/// <summary> /// Create static game model /// </summary> /// <param name="setType">Set type</param> /// <param name="setPositionMatrix">Set position matrix</param> public StaticGameObject(GameManager.StaticTypes setType, Matrix setPositionMatrix) { type = setType; positionMatrix = setPositionMatrix; }
/// <summary> /// Create moveable game model /// </summary> /// <param name="setType">Set type</param> /// <param name="setPositionMatrix">Set position matrix</param> public AnimatedGameObject(GameManager.AnimatedTypes setType, Matrix setPositionMatrix, DropObject setDropObject) { type = setType; initialPositionMatrix = positionMatrix = setPositionMatrix; // Use default state of not moving and idling around movement = Vector3.Zero; state = States.Idle; blendedStates[0] = 1.0f; blendedStates[1] = 0.0f; blendedStates[2] = 0.0f; blendedStates[3] = 0.0f; blendedStates[4] = 0.0f; sizeVariation = RandomHelper.GetRandomFloat(0.9f, 1.1f); addAnimationTime = RandomHelper.GetRandomFloat(0, 100); // Randomly let monsters drop one of the weapons if we did not // specify a drop object (like the key) yet. if (setDropObject == DropObject.None) // Use the percentages from GameManager dropObject = GameManager.GetDropPercentages(type); else dropObject = setDropObject; //Log.Write("Monster: " + type + ": dropObject=" + dropObject); // Goblins are smaller, ogres are a lot bigger! if (type == GameManager.AnimatedTypes.Goblin) sizeVariation *= 0.85f; else if (type == GameManager.AnimatedTypes.GoblinMaster) sizeVariation *= 1.1f; else if (type == GameManager.AnimatedTypes.GoblinWizard) sizeVariation *= 0.92f; else if (type == GameManager.AnimatedTypes.Ogre) sizeVariation *= 1.5f; else if (type == GameManager.AnimatedTypes.BigOgre) sizeVariation *= 2.5f; hitpoints = GameManager.MonsterHitpoints[(int)type]; }
/// <summary> /// Allows the game to perform any initialization it needs. /// </summary> protected override void Initialize() { base.Initialize(); // Make sure mouse is centered Input.Update(); Input.MousePos = new Point( Window.ClientBounds.X + width / 2, Window.ClientBounds.Y + height / 2); Input.Update(); // Load explosion effect //explosionTexture = new AnimatedTexture("Destroy"); gameManager = new GameManager(); // Create main menu screen //gameScreens.Push(new MainMenu()); // Start game //gameScreens.Push(new Mission()); //inGame = true; // Show end screen after quitting the game gameScreens.Push(new EndScreen()); gameScreens.Push(new GameScreen()); // Start music if (GameSettings.Default.MusicOn) Sound.StartMusic(); // Start background athmosphere sound (loops) Sound.Play(Sound.Sounds.Athmosphere); }