Class PythonRP

java.lang.Object
marauroa.server.game.python.PythonRP

public class PythonRP extends Object
Barebone implementation of RPRuleProcessor that you can extends at Python. You must extend this class.
Author:
miguel
  • Constructor Details

    • PythonRP

      public PythonRP()
  • Method Details

    • transferContent

      public void transferContent(RPObject target, List<TransferContent> content)
      Transfer content to client.
      Parameters:
      target - client to transfer content to.
      content - the contents to transfer.
    • beginTurn

      public void beginTurn()
      Notify it when a begin of actual turn happens.
    • checkGameVersion

      public boolean checkGameVersion(String game, String version)
      Returns true if the version of the game is compatible
      Parameters:
      game - the game name
      version - the game version
      Returns:
      true if game,version is compatible
    • createAccount

      public AccountResult createAccount(String username, String password, String email)
      Creates an account for the game
      Parameters:
      username - the username who is going to be added.
      password - the password for our username.
      email - the email of the player for notifications or password reminders.
      Returns:
      the Result of creating the account.
    • createAccountWithToken

      public AccountResult createAccountWithToken(String username, String tokenType, String token)
      Create an account for a player in game. Uses token instead of password for cases like 3rd party authentication (e.g. google sign-in).
      Parameters:
      username - username for a new account
      tokenType - token type for useful data about token
      token - auth token to verify, usually obtained from 3rd party
      Returns:
      the Result of creating a new account
    • createCharacter

      public CharacterResult createCharacter(String username, String character, RPObject template)
      Creates an new character for an account already logged into the game
      Parameters:
      username - the username who owns the account of the character to be added.
      character - the character to create
      template - the desired values of the avatar representing the character.
      Returns:
      the Result of creating the character.
    • endTurn

      public void endTurn()
      Notify it when a end of actual turn happens.
    • execute

      public void execute(RPObject object, RPAction action)
      Execute an action in the name of a player.
      Parameters:
      object - the object that executes
      action - the action to execute
    • onActionAdd

      public boolean onActionAdd(RPObject object, RPAction action, List<RPAction> actionList)
      This method is called *before* adding an action by RPScheduler so you can choose not to allow the action to be added by returning false
      Parameters:
      object - the object that casted the action
      action - the action that is going to be added.
      actionList - the actions that this player already owns.
      Returns:
      true if we approve the action to be added.
    • onTimeout

      public void onTimeout(RPObject object)
      Callback method called when a new player time out. This method MUST logout the player
      Parameters:
      object - the new player that timeouts.
    • onExit

      public boolean onExit(RPObject object)
      Callback method called when a player exits the game
      Parameters:
      object - the new player that exits the game.
      Returns:
      true to allow player to exit
    • onInit

      public boolean onInit(RPObject object)
      Callback method called when a new player enters in the game
      Parameters:
      object - the new player that enters in the game.
      Returns:
      true if object has been added.