1.23.1 • Published 1 year ago

@goodgamestudios/cxf-events v1.23.1

Weekly downloads
1,234
License
MIT
Repository
-
Last release
1 year ago

cxf-events

💬 Unified events for CXF extensions

Motivation

Games exchange messages in different formats and with different IDs. For example, a login command looks different on BigFarm and Empire. cxf-events normalizes & standardizes basic events in a game-agnostic way. Your CXF extension can subscribe to cxf.* events and work in almost all games.

+------------------+
|                  |
| LOGIN_BASIC_DATA |--->------+
|                  |       becomes
+------------------+          ↓
                      +---------------+
                      |               |
                      |   cxf.login   |---→ your CXF Extension
                      |               |
                      +---------------+
+------------------+          ↑
|                  |       becomes
|        gbd       |--->------+
|                  |
+------------------+

Usage

  • Include @goodgamestudios/cxf-events in @goodgamestudios/cxf-plugins
// Wait for cxf to be ready
require('@goodgamestudios/cxf-ready').then(cxf => {
  // Subscribe to relevant events
  cxf.on(CxfEvents.Login, loginData => {
    // do something on login
  })
})

Events

cxf.login

Emitted after a successful player login. In addition to sending the login arguments with the event, cxf.login also stores them in cxf.playerId, cxf.instanceId, cxf.networkId, cxf.gameId and cxf.language.

  • Event ID cxf.login
  • Arguments { playerId, instanceId, networkId, gameId, language }

Example

require('@goodgamestudios/cxf-ready').then(cxf => {
  cxf.on(CxfEvents.Login, loginData => {
    // do something on login
  })
})

How to listen for new game events

Bigfarm

To be able to listen for a new event from bigfarm, you will need to either listen to its descriptive event or its ID event. For instance: If you want to listen for the SUBSCRIPTION_INFO event (ID 460) you will need to:

To be able to listen for a new event from bigfarm, you will need to either listen to its descriptive event and also its ID event. For instance, if you want to listen for the SUBSCRIPTION_INFO event (ID 460) you will need to:

// Just listening for this event is not enough
cxf.once('SUBSCRIPTION_INFO', (e: BigfarmEvent<BigfarmSubscriptionEvent>) => {
  // Your code here
});
// Subscribing to event id, so the first event will be fowarded to CXF
cxf.on('460', () => {});
1.23.1-qa.1

1 year ago

1.23.1

1 year ago

1.23.0

2 years ago

1.23.0-qa.0

2 years ago

1.23.0-qa.5

2 years ago

1.23.0-qa.4

2 years ago

1.23.0-qa.3

2 years ago

1.23.0-qa.2

2 years ago

1.23.0-qa.1

2 years ago

1.22.0

2 years ago

1.22.0-qa.3

2 years ago

1.22.0-qa.4

2 years ago

1.21.1

2 years ago

1.21.1-qa.1

2 years ago

1.22.0-qa.0

2 years ago

1.22.0-qa.1

2 years ago

1.22.0-qa.2

2 years ago

1.21.0

3 years ago

1.21.0-qa.5

3 years ago

1.21.0-qa.4

3 years ago

1.21.0-qa.3

3 years ago

1.21.0-qa.2

3 years ago

1.20.1

3 years ago

1.20.0

3 years ago

1.20.1-qa.1

3 years ago

1.21.0-qa.1

3 years ago

1.18.0

3 years ago

1.18.0-qa.9

3 years ago

1.19.0

3 years ago

1.19.1

3 years ago

1.19.0-qa.1

3 years ago

1.19.1-qa.1

3 years ago

1.18.0-qa.10

3 years ago

1.18.0-qa.8

3 years ago

1.18.0-qa.7

3 years ago

1.18.0-qa.6

3 years ago

1.18.0-qa.5

3 years ago

1.18.0-qa.3

3 years ago

1.18.0-qa.4

3 years ago

1.18.0-qa.2

3 years ago

1.18.0-qa.1

3 years ago

1.18.0-qa.0

3 years ago

1.17.4-qa.0

4 years ago

1.17.3

4 years ago

1.17.2

4 years ago

1.17.1

4 years ago

1.17.0

4 years ago

1.16.1

4 years ago

1.16.0

4 years ago

1.16.0-qa.1

4 years ago

1.16.0-qa.0

4 years ago

1.15.0

4 years ago

1.15.0-qa.4

4 years ago

1.15.0-qa.3

4 years ago

1.15.0-qa.2

4 years ago

1.15.0-qa.1

4 years ago

1.15.0-qa.0

4 years ago

1.14.4-qa.0

4 years ago

1.14.3

4 years ago

1.14.2

4 years ago

1.13.2

4 years ago

1.13.1

4 years ago

1.14.0-qa.1

4 years ago

1.13.0-qa.1

4 years ago

1.12.1

4 years ago

1.12.1-qa.2

4 years ago

1.12.1-qa.1

4 years ago

1.10.2-qa.3

4 years ago

1.10.2-qa.2

4 years ago

1.12.1-qa.0

4 years ago

1.12.0

4 years ago

1.11.0

4 years ago

1.11.1-qa.0

4 years ago

1.10.2-qa.1

4 years ago

1.10.2-qa.0

4 years ago

1.10.1

4 years ago

1.10.0-qa.1

4 years ago

1.10.0

4 years ago

1.10.0-qa.0

4 years ago

1.9.0

4 years ago

1.9.0-qa.0

4 years ago

1.9.0-qa.1

4 years ago

1.8.8

4 years ago

1.8.7

4 years ago

1.8.6

4 years ago

1.8.5

4 years ago

1.8.4

4 years ago

1.8.3

4 years ago

1.8.2

4 years ago

1.8.1

4 years ago

1.8.0

4 years ago

1.7.1

4 years ago

1.7.0

4 years ago

1.6.0

4 years ago

1.5.5

4 years ago

1.5.4

4 years ago

1.5.3

4 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.11

4 years ago

1.4.10

4 years ago

1.4.9

4 years ago

1.4.8

4 years ago

1.4.6

4 years ago

1.4.7

4 years ago

1.4.5

4 years ago

1.4.4

4 years ago

1.4.3

4 years ago

1.4.2

4 years ago

1.4.1

4 years ago

1.4.0

4 years ago

1.3.0

4 years ago

1.2.0

4 years ago

1.1.0

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

5 years ago

0.0.3-qa.0

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago