static public void Update(List <Actions.ActionKey> keys) { switch (currentControls) { case ControlSetup.Standard: foreach (var key in keys) { StandardControls(key); } break; case ControlSetup.LootPickUp: if (keys.Count > 0) { LootPickUpControls(keys.Last()); } break; default: break; } if (keys.Count == 0) { if (typeof(BaseCharacter) == PlayerController.selectedSprite.GetType()) { (PlayerController.selectedSprite as BaseCharacter).animationIndex = (int)BaseCharacter.CharacterAnimations.Idle; } } if (keys[keys.Count - 1].actionIndentifierString.Equals(Game1.openMenuString) && !KeyboardMouseUtility.AnyButtonsPressed() && !BattleGUI.bIsRunning) { GameProcessor.bInGameMenu = true; GameMenuHandler.Start(); KeyboardMouseUtility.bPressed = true; GameProcessor.EnableMenuStage(); } if (keys[keys.Count - 1].actionIndentifierString.Equals(Game1.SettingsMenu) && !KeyboardMouseUtility.AnyButtonsPressed() && !BattleGUI.bIsRunning) { SettingsMenu.Start(); } PlayerController.selectedSprite.rotationIndex = ri; if (GameProcessor.bCameraOnController) { // GameProcessor.sceneCamera = ((new Vector2(-(PlayerController.selectedSprite.position.X + 32 - 1366 / GameProcessor.zoom / 2), -(PlayerController.selectedSprite.position.Y + 32 - 768 / GameProcessor.zoom / 2)))); } /* * var region = GameProcessor.loadedMap.mapRegions.Find(r => r.Contains(PlayerController.selectedSprite)); * if (region != null) * { * var zone = region.regionZones.Find(z => z.Contains(PlayerController.selectedSprite)); * if (zone != null) * { * zoneInfoForm.Start(zone, region); * } * } */ }
//Sets the settings to their default values public void InitialiseSettings() { settings.Start(); settings.SetDifficulty(); }
static public void StandardControls(ActionKey key) { var c = (PlayerController.selectedSprite as BaseCharacter); c.speed = 3f; if (PlayerController.selectedSprite.groundTile.tileSource.tileType != TileSource.TileType.Stairs && (key.actionIndentifierString.Equals(Game1.moveUpString) || key.actionIndentifierString.Equals(Game1.cameraMoveUpString)) && !ScriptProcessor.bIsRunning) { ri = (int)BaseSprite.Rotation.Up; if (PlayerController.selectedSprite.GetType() == typeof(BaseCharacter)) { (PlayerController.selectedSprite as BaseCharacter).Move(new Vector2(0, -c.speed)); } else { PlayerController.selectedSprite.Move(new Vector2(0, -c.speed)); } } else if (PlayerController.selectedSprite.groundTile.tileSource.tileType == TileSource.TileType.Stairs && (key.actionIndentifierString.Equals(Game1.moveUpString) || key.actionIndentifierString.Equals(Game1.cameraMoveUpString)) && !ScriptProcessor.bIsRunning) { ri = (int)BaseSprite.Rotation.Up; } else if (PlayerController.selectedSprite.groundTile.tileSource.tileType != TileSource.TileType.Stairs && (key.actionIndentifierString.Equals(Game1.moveDownString) || key.actionIndentifierString.Equals(Game1.cameraMoveDownString)) && !ScriptProcessor.bIsRunning) { ri = (int)BaseSprite.Rotation.Down; if (PlayerController.selectedSprite.GetType() == typeof(BaseCharacter)) { (PlayerController.selectedSprite as BaseCharacter).Move(new Vector2(0, c.speed)); } else { PlayerController.selectedSprite.Move(new Vector2(0, c.speed)); } } else if (PlayerController.selectedSprite.groundTile.tileSource.tileType == TileSource.TileType.Stairs && (key.actionIndentifierString.Equals(Game1.moveDownString) || key.actionIndentifierString.Equals(Game1.cameraMoveDownString)) && !ScriptProcessor.bIsRunning) { ri = (int)BaseSprite.Rotation.Down; } else if ((key.actionIndentifierString.Equals(Game1.moveLeftString) || key.actionIndentifierString.Equals(Game1.cameraMoveLeftString)) && !ScriptProcessor.bIsRunning) { ri = (int)BaseSprite.Rotation.Left; if (PlayerController.selectedSprite.GetType() == typeof(BaseCharacter)) { (PlayerController.selectedSprite as BaseCharacter).Move(new Vector2(-c.speed, 0)); } else { PlayerController.selectedSprite.Move(new Vector2(-c.speed, 0)); } } else if ((key.actionIndentifierString.Equals(Game1.moveRightString) || key.actionIndentifierString.Equals(Game1.cameraMoveRightString)) && !ScriptProcessor.bIsRunning) { ri = (int)BaseSprite.Rotation.Right; if (PlayerController.selectedSprite.GetType() == typeof(BaseCharacter)) { (PlayerController.selectedSprite as BaseCharacter).Move(new Vector2(c.speed, 0)); } else { PlayerController.selectedSprite.Move(new Vector2(c.speed, 0)); } } if (key.actionIndentifierString.Equals(Game1.confirmString) && !KeyboardMouseUtility.AnyButtonsPressed()) { if (GameProcessor.loadedMap.mapSaveInfo.CanPickUp(PlayerController.selectedSprite)) { GameProcessor.loadedMap.mapSaveInfo.HandlePickUp(); } else { if (PlayerController.selectedSprite.GetType() == typeof(BaseCharacter)) { (PlayerController.selectedSprite as BaseCharacter).Interact(); } else { PlayerController.selectedSprite.Interact(); } } } if (key.actionIndentifierString.Equals(Game1.cameraDefaultZoom)) { GameProcessor.zoom = 2.1f; } if (key.actionIndentifierString.Equals(Game1.cameraZoomIn)) { GameProcessor.zoom += 0.01f; } if (key.actionIndentifierString.Equals(Game1.cameraZoomOut)) { GameProcessor.zoom -= 0.01f; } if (key.actionIndentifierString.Equals(Game1.pauseString) && !KeyboardMouseUtility.AnyButtonsPressed()) { if (typeof(BaseCharacter) == PlayerController.selectedSprite.GetType()) { try { var temp = PlayerSaveData.heroParty.IndexOf(PlayerController.selectedSprite as BaseCharacter) + 1; if (temp == PlayerSaveData.heroParty.Count) { temp = 0; } Vector2 pos = PlayerController.selectedSprite.position; var oi = MapChunk.consideredSprites.FindAll(s => s.objectType == objectInfo.type.Character).Find(s => s.obj == PlayerController.selectedSprite); var oil = MapChunk.consideredSprites.FindAll(s => s.objectType == objectInfo.type.Character); PlayerController.selectedSprite = PlayerSaveData.heroParty[temp]; oi.obj = PlayerController.selectedSprite; PlayerController.selectedSprite.position = pos; PlayerController.selectedSprite.UpdatePosition(); GameProcessor.cameraFollowTarget = PlayerController.selectedSprite; } catch { } } } if (!KeyboardMouseUtility.AnyButtonsPressed() && key.actionIndentifierString.Equals(Game1.SettingsMenu)) { SettingsMenu.Start(); } }