private static CardPickByPriority ActionOrder(MyPlayerAction playerAction) { return new CardPickByPriority( CardAcceptance.For(Cards.FishingVillage, playerAction.ShouldPlayAction), CardAcceptance.For(Cards.PoorHouse, playerAction.ShouldPlayPoorHouse), CardAcceptance.For(Cards.Library, playerAction.ShouldPlayLibraryBeforeCount), CardAcceptance.For(Cards.Count), CardAcceptance.For(Cards.Library, playerAction.ShouldPlayLibrary)); }
private static CardPickByPriority ActionOrder(MyPlayerAction playerAction) { return(new CardPickByPriority( CardAcceptance.For(Cards.FishingVillage, playerAction.ShouldPlayAction), CardAcceptance.For(Cards.PoorHouse, playerAction.ShouldPlayPoorHouse), CardAcceptance.For(Cards.Library, playerAction.ShouldPlayLibraryBeforeCount), CardAcceptance.For(Cards.Count), CardAcceptance.For(Cards.Library, playerAction.ShouldPlayLibrary))); }
void OnEnable() { // See PlayerActions.cs for this setup. characterActions = MyPlayerAction.CreateWithDefaultBindings(); }
//bind keys to input types public static MyPlayerAction CreateWithDefaultBindings() { var myPlayerAction = new MyPlayerAction(); #region keyboard myPlayerAction.lookLeft.AddDefaultBinding(Mouse.NegativeX); myPlayerAction.lookRight.AddDefaultBinding(Mouse.PositiveX); myPlayerAction.lookUp.AddDefaultBinding(Mouse.PositiveY); myPlayerAction.lookDown.AddDefaultBinding(Mouse.NegativeY); myPlayerAction.lookZoomForward.AddDefaultBinding(Mouse.PositiveScrollWheel); myPlayerAction.lookZoomBackward.AddDefaultBinding(Mouse.NegativeScrollWheel); myPlayerAction.moveLeft.AddDefaultBinding(Key.A); myPlayerAction.moveRight.AddDefaultBinding(Key.D); myPlayerAction.moveForward.AddDefaultBinding(Key.W); myPlayerAction.moveBackward.AddDefaultBinding(Key.S); //arrow keys myPlayerAction.moveLeft.AddDefaultBinding(Key.LeftArrow); myPlayerAction.moveRight.AddDefaultBinding(Key.RightArrow); myPlayerAction.moveForward.AddDefaultBinding(Key.UpArrow); myPlayerAction.moveBackward.AddDefaultBinding(Key.DownArrow); myPlayerAction.jump.AddDefaultBinding(Key.Space); myPlayerAction.interact1.AddDefaultBinding(Key.Q); myPlayerAction.interact2.AddDefaultBinding(Key.E); myPlayerAction.menu.AddDefaultBinding(Key.Escape); //myPlayerAction.back.AddDefaultBinding( Key.Escape ); #endregion #region gamepad myPlayerAction.lookLeft.AddDefaultBinding(InputControlType.RightStickLeft); myPlayerAction.lookRight.AddDefaultBinding(InputControlType.RightStickRight); myPlayerAction.lookUp.AddDefaultBinding(InputControlType.RightStickUp); myPlayerAction.lookDown.AddDefaultBinding(InputControlType.RightStickDown); myPlayerAction.lookZoomForward.AddDefaultBinding(InputControlType.RightTrigger); myPlayerAction.lookZoomBackward.AddDefaultBinding(InputControlType.RightBumper); myPlayerAction.moveLeft.AddDefaultBinding(InputControlType.LeftStickLeft); myPlayerAction.moveRight.AddDefaultBinding(InputControlType.LeftStickRight); myPlayerAction.moveForward.AddDefaultBinding(InputControlType.LeftStickUp); myPlayerAction.moveBackward.AddDefaultBinding(InputControlType.LeftStickDown); //arrow keys myPlayerAction.moveLeft.AddDefaultBinding(InputControlType.DPadLeft); myPlayerAction.moveRight.AddDefaultBinding(InputControlType.DPadRight); myPlayerAction.moveForward.AddDefaultBinding(InputControlType.DPadUp); myPlayerAction.moveBackward.AddDefaultBinding(InputControlType.DPadDown); myPlayerAction.jump.AddDefaultBinding(InputControlType.LeftBumper); myPlayerAction.jump.AddDefaultBinding(InputControlType.LeftTrigger); myPlayerAction.jump.AddDefaultBinding(InputControlType.LeftStickButton); myPlayerAction.interact1.AddDefaultBinding(InputControlType.Action1); myPlayerAction.interact2.AddDefaultBinding(InputControlType.Action2); myPlayerAction.menu.AddDefaultBinding(InputControlType.Command); //myPlayerAction.back.AddDefaultBinding( InputControlType.Action3 ); #endregion //set options myPlayerAction.ListenOptions.IncludeUnknownControllers = true; //playerActions.ListenOptions.MaxAllowedBindings = 5; myPlayerAction.ListenOptions.IncludeMouseButtons = true; myPlayerAction.ListenOptions.OnBindingFound = (action, binding) => { if (binding == new KeyBindingSource(Key.Escape)) { action.StopListeningForBinding(); return(false); } return(true); }; myPlayerAction.ListenOptions.OnBindingAdded += (action, binding) => { Debug.Log("Binding added... " + binding.DeviceName + ": " + binding.Name); }; myPlayerAction.ListenOptions.OnBindingRejected += (action, binding, reason) => { Debug.Log("Binding rejected... " + reason); }; return(myPlayerAction); }