Bannerlord-Coop-Team/BannerlordCoop

Sync: Village Fields

Opened this issue · 0 comments

Description

  1. Sync the values in the Synced list below.
  2. Create an end to end (E2E) tests for all fields (1 for server changing the value and 1 for client changing the value if applicable)
  3. Create a command to test changing each value in game see similar command

Also see additional information at the bottom for more information and templates

Key
Server side only (only allow the running of the function on the server side)
Client side only (only allow the running of the function on the client side)
Client side sync (request the server to change the value, server then changes the value and replies to the client allowing the change)
Server side sync (only server allows running of the function and send to all clients the value changed and clients update the value/call original function)

Synced

Method/Field Name Sync Type Additional Information
VillagerPartyComponent Server side sync TODO
VillageType Server side sync TODO
_bound Server side sync TODO
_marketData Server side sync TODO
_tradeBound Server side sync TODO
_villageState Server side sync TODO

Deferred

None

Externally Deferred

None

Non-Synced

None

Intended Design

For the patch itself please refer to https://github.com/Bannerlord-Coop-Team/BannerlordCoop/wiki/Patching-Basics#field-patching

Field Sync Dataflow
FieldSyncDataflow
Integration Testing
image

Location

Create a branch based from development

Related Issues

Blocked by:

Requirements

N/A

Additional information

Using the GameInterface Service Tempale create commands to test the synced values.

Definition of Done

  • Class level comments exist for all new classes.
  • XUnit E2E tests exist for every property on the server (and client if applicable)
  • Each field has a command getter and setter that used the correct intercept