/// <summary> /// Handles the input for a specific player. /// </summary> /// <param name="number">controller Id</param> /// <param name="p">P.layer</param> protected virtual void HandleKeyboardForPlayer(int number, IActorInput p) { // We define the input axis / buttons names for this player string playerMainAction = "Player" + number + "MainAction"; string playerAltAction = "Player" + number + "AltAction"; string playerRespawnAction = "Player" + number + "RespawnAction"; string playerHorizontal = "Player" + number + "Horizontal"; string playerVertical = "Player" + number + "Vertical"; // Movement management HorizontalPosition(p, Input.GetAxis(playerHorizontal)); VerticalPosition(p, Input.GetAxis(playerVertical)); if (Input.GetButton(playerMainAction)) { MainActionButtonPressed(p); } if (Input.GetButtonDown(playerMainAction)) { MainActionButtonDown(p); } if (Input.GetButtonUp(playerMainAction)) { MainActionButtonReleased(p); } if (Input.GetButton(playerAltAction)) { AltActionButtonPressed(p); } if (Input.GetButtonDown(playerAltAction)) { AltActionButtonDown(p); } if (Input.GetButtonUp(playerAltAction)) { AltActionButtonReleased(p); } if (Input.GetButton(playerRespawnAction)) { RespawnActionButtonPressed(p); } if (Input.GetButtonDown(playerRespawnAction)) { RespawnActionButtonDown(p); } if (Input.GetButtonUp(playerRespawnAction)) { RespawnActionButtonReleased(p); } }
/// <summary> /// Links a player to a controller id /// </summary> /// <param name="controllerId">Controller identifier.</param> /// <param name="p">Player</param> public virtual void SetPlayer(int controllerId, IActorInput p) { _players[controllerId] = p; }
/// <summary> /// Updates vertical position for a player /// </summary> /// <param name="p">Player</param> /// <param name="value">Value.</param> public virtual void VerticalPosition(IActorInput p, float value) { p.VerticalPosition(value); }
/// <summary> ///Updates horizontal position for a player /// </summary> /// <param name="p">Player.</param> /// <param name="value">Value.</param> public virtual void HorizontalPosition(IActorInput p, float value) { p.HorizontalPosition(value); }
/// <summary> /// Triggered when Down Button is pressed for a player /// </summary> /// <param name="p">Player.</param> public virtual void DownButtonPressed(IActorInput p) { p.DownPressed(); }
/// <summary> /// Triggered when Up Button is pressed for a player /// </summary> /// <param name="p">Player.</param> public virtual void UpButtonPressed(IActorInput p) { p.UpPressed(); }
/// <summary> /// Triggered when Right Button is released for a player /// </summary> /// <param name="p">Player.</param> public virtual void RightButtonReleased(IActorInput p) { p.RightReleased(); }
/// <summary> /// Triggered when Right Button is pressed for a player /// </summary> /// <param name="p">Player.</param> public virtual void RightButtonPressed(IActorInput p) { p.RightPressed(); }
/// <summary> /// Triggered when Left Button is released for a player /// </summary> /// <param name="p">Player.</param> public virtual void LeftButtonReleased(IActorInput p) { p.LeftReleased(); }
/// <summary> /// Triggered when Left Button is pressed for a player /// </summary> /// <param name="p">Player.</param> public virtual void LeftButtonPressed(IActorInput p) { p.LeftPressed(); }
/// <summary> /// Triggered when the alt action button is being pressed for a player /// </summary> /// <param name="p">Player</param> public virtual void AltActionButtonPressed(IActorInput p) { p.AltActionPressed(); }
/// <summary> /// Triggered when the alt action button is being pressed for a player /// </summary> /// <param name="p">Player</param> public virtual void AltActionButtonDown(IActorInput p) { p.AltActionDown(); }
/// <summary> /// Triggered when the main action button is pressed for a player /// </summary> /// <param name="p">Player</param> public virtual void MainActionButtonPressed(IActorInput p) { p.MainActionPressed(); }
/// <summary> /// Triggered when the main action button is being pressed for a player /// </summary> ///<param name="p">Player</param> public virtual void MainActionButtonDown(IActorInput p) { p.MainActionDown(); }
/// <summary> /// Triggered when the respawn button is released for a player /// </summary> ///<param name="p">Player</param> public virtual void RespawnActionButtonReleased(IActorInput p) { p.RespawnActionReleased(); }
/// <summary> /// Triggered when the respawn button is being pressed for a player /// </summary> ///<param name="p">Player</param> public virtual void RespawnActionButtonDown(IActorInput p) { p.RespawnActionDown(); }