This is a documentation for Board Game Arena: play board games online !

Table

From Board Game Arena
Revision as of 01:44, 2 February 2021 by Victoria La (talk | contribs)
Jump to navigation Jump to search

This is reference for public and protected method defined in Table and its ancestors, this information obtained by using php reflection.

Most of these methods documented on various other wikis, this is just refeference for completeness and in case you run into accidental overloading of undocumented functions...

Its a long list please help with editing this wiki


If you need these method for IDE autocompletion and validation there is unofficial project that has stubs to documented methods: https://github.com/danielholmes/bga-workbench/tree/master/src/BGAWorkbench/Stubs

Class hierarchy

  • APP_Object
    • APP_DbObject
      • APP_GameClass
        • Table - this is a class all games inherit
        • Deck - db handling component for specific schema (deck)

Methods in the Table class

Table.getGameName
part of template, return game name, not to be modified by developer, not document on wiki
Table._
translation wrapper function, see Translations
Table.setTable
undocumented
Table.initTable
undocumented
Table.getAllTableDatas
undocumented
Table.getAllDatas
part of template, override, see Main game logic: yourgamename.game.php
Table.setupNewGameTable
undocumented
Table.setupNewGame
part of template, override, see Main game logic: yourgamename.game.php
Table.getTableOptionsForGame
undocumented
Table.getTableOptions
undocumented, likely return gameoptions (i.e. variants of the games)
Table.getTablePreferencesForGame
undocumented
Table.getTablePreferences
undocumented, likely return UI preferences (i.e. display tooltips or not)
Table.getGameInfosForGame
undocuments, likely return $gameinfos from gameinfos.inc.php
Table.getGameOptionsInfos
undocumented
Table.start
undocumented, likely starts the game, do not call
Table.loadPlayersBasicInfos
very usefull function get players table, see Main game logic: yourgamename.game.php
Table.reloadPlayersBasicInfos
reload players info, see Main game logic: yourgamename.game.php
Table.reattributeColorsBasedOnPreferences
change players colors, see Main game logic: yourgamename.game.php
Table.getBestColorFromColorPrefs
undocumented, do not call, use to pick a color based on preference
Table.initSetupPlayersInfos
undocumented
Table.getPlayersNumber
returns number of players, see Main game logic: yourgamename.game.php
Table.checkAction
check action on server, see Main game logic: yourgamename.game.php
Table.checkGameStart
Table.color_to_color_back
@deprecated, undocumented
Table.initGameStateLabels
Table.setGameStateInitialValue
Set initial state of global, technically same as setGameStateValue see Main_game_logic:_yourgamename.game.php#Use_globals
Table.getGameStateValue
get value of global see Main_game_logic:_yourgamename.game.php#Use_globals
Table.setGameStateValue
set value of global see Main_game_logic:_yourgamename.game.php#Use_globals
Table.incGameStateValue
increment value of global see Main_game_logic:_yourgamename.game.php#Use_globals
Table.is_testmode
@deprecated
Table.testmodedatas
@deprecated
Table.applyTestModeDbFixture
Table.getActivePlayerId
get active player id, see Main_game_logic:_yourgamename.game.php#Game_states_and_active_players
Table.getActivePlayerName
get active player name, see Main_game_logic:_yourgamename.game.php#Game_states_and_active_players
Table.getCurrentPlayerId
get current player id, see Main_game_logic:_yourgamename.game.php#Game_states_and_active_players
Table.getCurrentPlayerName
get currrent player name, see Main_game_logic:_yourgamename.game.php#Game_states_and_active_players
Table.getCurrentPlayerColor
get current player color, see Main_game_logic:_yourgamename.game.php#Game_states_and_active_players
Table.isCurrentPlayerZombie
Table.getPlayerCount
@deprecated, use getPlayersNumber,
Table.createNextPlayerTable
Table.getNextPlayerTable
Table.createPrevPlayerTable
Table.getPrevPlayerTable
Table.getPlayerAfter
Table.getPlayerBefore
Table.activeNextPlayer
Table.activePrevPlayer
Table.forceEndOfGame
force to abandon game, normally its called when all players agree, but can be called to force people out when testing alpha or beta games and don't want to deal with update db and such ($this->forceEndOfGame( $reason ))
Table.giveExtraTime
Table.checkZombieTurn
Table.skipPlayersOutOfTime
Table.onPlayerHasBeenZombified
Table.forceAbandon
Table.zombieBack
Table.aiPlayer
Table.aiNotPlaying
Table.aiError
Table.say
Table.getGameProgression
Table.getStatTypesForGame
Table.getStatTypes
Table.stat_type_id_to_name
Table.initStat
initialize statistic https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Game_statistics
Table.getStat
get statistic https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Game_statistics
Table.setStat
set statistic https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Game_statistics
Table.setStatForAllPlayers
set player statistics for all players, not document, does not check params, have some bad side effects
Table.incStat
inc statistic https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Game_statistics
Table.getStatFromResult
helper function, do not use, should have been private for table class
Table.setStatOnResult
helper function, do not use, should have been private for table class
Table.setStatOnResultForPlayer
helper function, do not use, should have been private for table class
Table.getStandardGameResultObject
helper function, do not use, should have been private for table class
Table.getGameRankInfos
Table.argGameEnd
framework end game function, do not call or override
Table.stGameEnd
framework end game function, do not call or override
Table.stTutorialStart
Table.isSoloGame
return true if game is 1 player game or all other players are AI
Table.notifyAllPlayers
notification function, see https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php
Table.notifyPlayer
notification function, see https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php
Table.onEndAjaxAction
can be overriden to be executed before end of ajax action, unclear why would anybody need that
Table.checkReturnState
framework internal check action, do not call or override
Table.sendNotifications
framework internal function, do not call or override
Table.getCurrentNotificationNextNo
Table.getNotificationHistory
Table.debugChat
studio only - execute php code from chat, overriding won't work as it is called statically from table class
Table.timeout
studio only - can call from chat console to zombify current player
Table.eliminatePlayer
eliminate player, https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php
Table.isAsync
return true if game is turn based, false if realtime, undocumented (why?)
Table.getTimeLimits
internal framework function, do not call or override
Table.getAsyncTimeLimits
return time limits for turn based games
Table.checkAsyncActivePlayersChange
framework internal check action, do not call or override
Table.upgradeTableDb
override to perform db upgrade, see game template, also some notes in https://en.doc.boardgamearena.com/Post-release_phase
Table.getReplayPoints
Table.saveReplayPoint
Table.undoAndReplayInit
Table.removeAutoIncrementFromTable
@deprecated
Table.getFieldsListOfTable
Table.undoInit
Table.undoSavepoint
Instruction to save database state after current transaction is complete Main game logic: yourgamename.game.php
Table.doUndoSavePoint
do not call directly
Table.undoRestorePoint
Restore database from save point
Table.showTutorial
do not call directly
Table.seenTutorial
do not call directly
Table.activeTutorial
do not call directly
Table.forceGameTournamendEnd
do not call directly
Table.showCursor

Methods in the APP_GameClass class

APP_GameClass.getNewUnique
APP_GameClass.getNew
APP_GameClass.notifyNow

Methods in the APP_DbObject class

APP_DbObject.ConnectDb
APP_DbObject.DbQuery
main query method, see https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Accessing_the_database
APP_DbObject.DbTraceTimeBefore
APP_DbObject.DbTraceTimeAfter
APP_DbObject.DbGetLastId
APP_DbObject.DbDumpQueryHistory
APP_DbObject.DbAffectedRow
APP_DbObject.DbStartTransaction
APP_DbObject.DbCommit
APP_DbObject.DbRollback
APP_DbObject.DbRestartTransaction
APP_DbObject.DbSelect
APP_DbObject.CommitAllAndRestart
APP_DbObject.setDeadlockMode
APP_DbObject.isDeadlockModeRetry
APP_DbObject.enableMultiQueries
APP_DbObject.sendMultiQueries
APP_DbObject.escapeStringForDB
APP_DbObject.getCollectionFromDB
see https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Accessing_the_database
APP_DbObject.getNonEmptyCollectionFromDB
APP_DbObject.getDoubleKeyCollectionFromDB
see https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Accessing_the_database
APP_DbObject.getUniqueValueFromDB
APP_DbObject.mysql_fetch_row
APP_DbObject.mysql_fetch_assoc
APP_DbObject.mysql_query
APP_DbObject.getObjectFromDB
see https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Accessing_the_database
APP_DbObject.getNonEmptyObjectFromDB
see https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Accessing_the_database
APP_DbObject.getObjectListFromDB
see https://en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Accessing_the_database
APP_DbObject.getSelectedDb
APP_DbObject.sqlParsing
APP_DbObject.DbUsePrefix
APP_DbObject.applyPrefix
APP_DbObject.cache_store
APP_DbObject.cache_add
APP_DbObject.cache_exists
APP_DbObject.cache_fetch
APP_DbObject.cache_delete
APP_DbObject.cache_rollback
APP_DbObject.cache_commit
APP_DbObject.ensure_enough_time_since_last_action
APP_DbObject.getMasterNodeDomain
APP_DbObject.getMasterNodeUrl
APP_DbObject.masterNodeRequest
APP_DbObject.gameserverNodeRequest
APP_DbObject.gameserverNodeRequestNoTable
APP_DbObject.bgaCallUrl

Methods in the APP_Object class

APP_Object.watch
@deprecated, do not use
APP_Object.debug
see https://en.doc.boardgamearena.com/Practical_debugging
APP_Object.trace
see https://en.doc.boardgamearena.com/Practical_debugging
APP_Object.warn
see https://en.doc.boardgamearena.com/Practical_debugging
APP_Object.error
see https://en.doc.boardgamearena.com/Practical_debugging
APP_Object.dump
see https://en.doc.boardgamearena.com/Practical_debugging