LeaveTeamRequest
Allows a player to leave a team.
View interactive version here
Request Parameters
Parameter |
Required |
Type |
Description |
ownerId |
No |
string |
The team owner to find, used in combination with teamType. If not supplied the current players id will be used |
teamId |
No |
string |
The teamId to find (may be null if teamType supplied) |
teamType |
No |
string |
The teamType to find, used in combination with the current player, or the player defined by ownerId |
Response Parameters
A response to a player leaving a team
Parameter |
Type |
Description |
members |
Player[] |
The team members |
owner |
Player |
A summary of the owner |
scriptData |
ScriptData |
A JSON Map of any data added either to the Request or the Response by your Cloud Code |
teamId |
string |
The Id of the team |
teamName |
string |
The team name |
teamType |
string |
The team type |
Nested types
ScriptData
A collection of arbitrary data that can be added to a message via a Cloud Code script.
Parameter |
Type |
Description |
myKey |
string |
An arbitrary data key |
myValue |
JSON |
An arbitrary data value. |
Player
A nested object that represents a player.
Parameter |
Type |
Description |
achievements |
string[] |
The achievements of the Player |
displayName |
string |
The display name of the Player |
externalIds |
JSON |
The external Id's of the Player |
id |
string |
The Id of the Player |
online |
boolean |
The online status of the Player |
scriptData |
JSON |
The script data of the Player |
virtualGoods |
string[] |
The virtual goods of the Player |
Error Codes
Key |
Value |
Description |
teamId|teamType |
REQUIRED |
Both teamId and teamType have not been provided |
team |
INVALID |
The teamId or the teamType do not match an existing team |
team |
CANNOT_LEAVE_OR_JOIN_OWNED_MANDATORY_TEAM |
The current player is trying to leave a mandatory team they own. |
team |
NOT_MEMBER |
The current player is not a mamber of the team they are requesting to leave |
teamType&&ownerId |
NOT_UNIQUE |
The ownerId / teamType combination has multiple teams related to it |
authentication |
NOTAUTHORIZED |
The player is not authorized to perform the request |
Code Samples
C#
using GameSparks.Api
using GameSparks.Api.Requests
using GameSparks.Api.Responses
...
new LeaveTeamRequest()
.SetOwnerId(ownerId)
.SetTeamId(teamId)
.SetTeamType(teamType)
.Send((response) => {
GSEnumerable<LeaveTeamResponse._Player> members = response.Members
LeaveTeamResponse._Player owner = response.Owner
GSData scriptData = response.ScriptData;
string teamId = response.TeamId
string teamName = response.TeamName
string teamType = response.TeamType
})
ActionScript 3
import com.gamesparks.*;
import com.gamesparks.api.requests.*;
import com.gamesparks.api.responses.*;
import com.gamesparks.api.types.*;
...
gs.getRequestBuilder()
.createLeaveTeamRequest()
.setOwnerId(ownerId)
.setTeamId(teamId)
.setTeamType(teamType)
.send(function(response:com.gamesparks.api.responses.LeaveTeamResponse):void {
var members:Vector.<Player> = response.getMembers();
var owner:Player = response.getOwner();
var scriptData:ScriptData = response.getScriptData();
var teamId:String = response.getTeamId();
var teamName:String = response.getTeamName();
var teamType:String = response.getTeamType();
});
Objective-C
...
GSLeaveTeamRequest* request = [[GSLeaveTeamRequest alloc] init]
[request setOwnerId:ownerId
[request setTeamId:teamId
[request setTeamType:teamType
[request setCallback:^ (GSLeaveTeamResponse* response) {
NSArray* members = [response getMembers]
GSPlayer* owner = [response getOwner]
NSDictionary* scriptData = [response getScriptData]
NSString* teamId = [response getTeamId]
NSString* teamName = [response getTeamName]
NSString* teamType = [response getTeamType]
}]
[gs send:request]
C++
#include <GameSparks/generated/GSRequests.h>
using namespace GameSparks::Core;
using namespace GameSparks::Api::Responses;
using namespace GameSparks::Api::Requests;
...
void LeaveTeamRequest_Response(GS& gsInstance, const LeaveTeamResponse& response) {
gsstl:vector<Types::Player*> members = response.getMembers();
Types::Player* owner = response.getOwner();
GSData scriptData = response.getScriptData();
gsstl::string teamId = response.getTeamId();
gsstl::string teamName = response.getTeamName();
gsstl::string teamType = response.getTeamType();
}
......
LeaveTeamRequest request(gsInstance);
request.SetOwnerId(ownerId)
request.SetTeamId(teamId)
request.SetTeamType(teamType)
request.Send(LeaveTeamRequest_Response);
Java
import com.gamesparks.sdk.api.autogen.GSRequestBuilder.LeaveTeamRequest;
import com.gamesparks.sdk.api.autogen.GSResponseBuilder.LeaveTeamResponse;
import com.gamesparks.sdk.api.autogen.GSTypes.*;
import com.gamesparks.sdk.api.GSEventListener;
...
gs.getRequestBuilder().createLeaveTeamRequest()
.setOwnerId(ownerId)
.setTeamId(teamId)
.setTeamType(teamType)
.send(new GSEventListener<LeaveTeamResponse>() {
@Override
public void onEvent(LeaveTeamResponse response) {
List<Player> members = response.getMembers();
Player owner = response.getOwner();
String teamId = response.getTeamId();
String teamName = response.getTeamName();
String teamType = response.getTeamType();
}
});
Cloud Code
var request = new SparkRequests.LeaveTeamRequest();
request.ownerId = ...;
request.teamId = ...;
request.teamType = ...;
var response = request.Send();
var members = response.members;
var owner = response.owner;
var scriptData = response.scriptData;
var teamId = response.teamId;
var teamName = response.teamName;
var teamType = response.teamType;