Mod API Reference:ClientGame: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
* '''LatestStanding''' ''[[Mod API Reference:GameStanding|GameStanding]]'': The latest state of the game. | * '''LatestStanding''' ''[[Mod API Reference:GameStanding|GameStanding]]'': The latest state of the game. | ||
* '''GetDistributionStanding''': A function used to get the [[Mod API Reference:GameStanding|GameStanding]] during the picking phase of this game. Pass this function your own callback function which takes a [[Mod API Reference:GameStanding|GameStanding]] as an argument. For example: <code>game.GetDistributionStanding(function(standing) print('got ' .. standing) end)</code>. Your function will be called with nil if the distribution standing is not available, for example if it's an automatic distribution game. In the event of an error, such as lack of an internet connection, your callback will not be called and instead the player will get a "Could not connect" message. | * '''GetDistributionStanding''': A function used to get the [[Mod API Reference:GameStanding|GameStanding]] during the picking phase of this game. Pass this function your own callback function which takes a [[Mod API Reference:GameStanding|GameStanding]] as an argument. For example: <code>game.GetDistributionStanding(function(standing) print('got ' .. standing) end)</code>. Your function will be called with nil if the distribution standing is not available, for example if it's an automatic distribution game. In the event of an error, such as lack of an internet connection, your callback will not be called and instead the player will get a "Could not connect" message. | ||
* '''GetStanding''': A function used to get the [[Mod API Reference:GameStanding|GameStanding]] for any turn of the game. Pass this function two arguments: first, an integer | * '''GetStanding''': A function used to get the [[Mod API Reference:GameStanding|GameStanding]] for any turn of the game. Pass this function two arguments: first, an integer representing what turn to get (0 for the start of the game, 1 for the second turn, 2 for the third turn, etc.) Second, pass a callback function that will get called with the [[Mod API Reference:GameStanding|GameStanding]]. In the event of an error, such as lack of an internet connection, your callback will not be called and instead the player will get a "Could not connect" message. | ||
* '''GetTurn''': A function used to get the [[Mod API Reference:GameTurn|GameTurn]] for any turn of the game. Identical to GetStanding in every way, except that it calls back your function with a [[Mod API Reference:GameTurn|GameTurn]]. | * '''GetTurn''': A function used to get the [[Mod API Reference:GameTurn|GameTurn]] for any turn of the game. Identical to GetStanding in every way, except that it calls back your function with a [[Mod API Reference:GameTurn|GameTurn]]. | ||
* '''Orders''' ''List<[[Mod API Reference:GameOrder|GameOrder]]>'': Allows you to read and write the orders that the player is building up in the orders list for the current turn. You can call this property to see the orders, or assign a list of orders to it to replace the player's orders with your list. | * '''Orders''' ''List<[[Mod API Reference:GameOrder|GameOrder]]>'': Allows you to read and write the orders that the player is building up in the orders list for the current turn. You can call this property to see the orders, or assign a list of orders to it to replace the player's orders with your list. |
Revision as of 19:04, 17 October 2022
ClientGame: Provides information about a game in Client_ hooks. Also lets mods view and alter the orders list.
- Map MapDetails: Details about the map for this game.
- Us GamePlayer: Details about the player who is playing. Note that this will be nil when a spectator views this game, so be sure to test your mod as spectators if you use this field.
- Game GameWL: Details about the game.
- Map MapDetails: Details about the map for this game.
- Settings GameSettings: The settings this game uses.
- LatestStanding GameStanding: The latest state of the game.
- GetDistributionStanding: A function used to get the GameStanding during the picking phase of this game. Pass this function your own callback function which takes a GameStanding as an argument. For example:
game.GetDistributionStanding(function(standing) print('got ' .. standing) end)
. Your function will be called with nil if the distribution standing is not available, for example if it's an automatic distribution game. In the event of an error, such as lack of an internet connection, your callback will not be called and instead the player will get a "Could not connect" message. - GetStanding: A function used to get the GameStanding for any turn of the game. Pass this function two arguments: first, an integer representing what turn to get (0 for the start of the game, 1 for the second turn, 2 for the third turn, etc.) Second, pass a callback function that will get called with the GameStanding. In the event of an error, such as lack of an internet connection, your callback will not be called and instead the player will get a "Could not connect" message.
- GetTurn: A function used to get the GameTurn for any turn of the game. Identical to GetStanding in every way, except that it calls back your function with a GameTurn.
- Orders List<GameOrder>: Allows you to read and write the orders that the player is building up in the orders list for the current turn. You can call this property to see the orders, or assign a list of orders to it to replace the player's orders with your list.
- CreateDialog: A function used to create a new dialog on the screen for players to interact with. Pass a single function callback as a argument to CreateDialog. Your function callback will be passed the same arguments as the the Client_PresentMenuUI hook, documented at Mod Hooks
- SendGameCustomMessage: A function used to send a message to the server, which will be handled by the Server_GameCustomMessage hook as documented at Mod Hooks. Note that this message is rate-limited to 5 calls every 5 seconds per client to avoid extra tax on the server. Arguments:
- waitText: A string identifying what wait message will be displayed to the player as they're waiting for the server to reply.
- payload: Data that will be delivered to the Server_GameCustomMessage hook. Must be a lua table.
- callback: A function you provide which will be called back when the message is complete. If the message fails, such as due to a disconnected internet connection or an error in the server hook, this callback will not be invoked. If it is invoked, it will be passed a single argument of a lua table that the Server_GameCustomMessage hook provided as a return value.