@goodgamestudios/cxf-events
Version:
Unified events for BigFarm, Empire and others
74 lines (73 loc) • 2.02 kB
TypeScript
export declare type Base64 = string;
export declare type Language = string;
export declare type NetworkId = string;
export declare type PlayerId = string;
export declare type GameId = string;
export declare type InstanceId = string;
export declare type ZoneId = string;
export declare type CountryCode = string;
export declare type WebsiteId = string;
export declare type Token = string;
export declare type Timestamp = number;
export interface ILoginData {
playerId: PlayerId;
instanceId: InstanceId;
networkId: NetworkId;
gameId: GameId;
language: Language;
token: Token;
gameEvents: IGameEvent[];
zoneId: ZoneId;
level: number;
legendLevel?: number;
xp: number;
countryCode: CountryCode;
websiteId: WebsiteId;
lastPaymentDate: Timestamp;
registrationDate: Timestamp;
playerName: string;
playerInactiveDays?: number;
dayWentBack?: number;
}
export interface XpChangedPayload {
current: number;
prev: number;
}
export interface LevelChangedPayload {
current: number;
prev: number;
}
export interface IGameEvent {
type: number;
stopDate: number;
eventData?: {
collectedAmount?: number;
minGoldAmount?: number;
maxGoldAmount?: number;
};
}
export interface PushEvent<GPayload> {
id: string;
payload: GPayload;
}
export declare enum CxfEvents {
Token = "cxf.token",
Login = "cxf.login",
Signup = "cxf.signup",
GameEventUpdate = "cxf.gameEvent.update",
GameEventAdd = "cxf.gameEvent.add",
GameEventRemove = "cxf.gameEvent.remove",
XpChanged = "cxf.xp.changed",
LevelChanged = "cxf.level.changed",
LegendLevelChanged = "cxf.legendLevel.changed",
Push = "cxf.push",
OpenIGS = "cxf.igs.open",
JoinTempServer = "cxf.join.temp.server",
Subscription = "cxf.subscription",
RewardedAdStart = "cxf.rewardedad.start",
RewardedAdDone = "cxf.rewardedad.done"
}
export interface IgsOpenPayload {
page?: string;
route?: string;
}