Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#180 closed enhancement (released)

Add multiple mutex groups

Reported by: ibboard Owned by: ibboard
Priority: major Milestone: WarFoundry 0.1
Component: WarFoundry-API Version:
Keywords: mutex multiple Cc:
Blocked By: Blocking:

Description

The current design is for singular mutex groups, which limits the various combinations that you can constrain. If the API allowed multiple mutex groups then restrictions like "comes with sword, can replace with axe or broadsword, can add shield, but not if broadsword was taken" can be enforced through mutual exclusion.

Change History (8)

comment:1 Changed 10 years ago by ibboard

Owner: set to ibboard
Status: newaccepted

comment:2 Changed 10 years ago by ibboard

(In r288) Re #180: Add multiple mutex groups

  • Add multiple mutex groups to UnitEquipmentItem
  • Add new attribute to Race schema
  • Make everywhere handle multiple groups instead of assuming one
  • Make factory load new attribute then fall back to old (deprecated) attribute
  • Add method to Unit to get the blocking items (useful for future UI work to say "replace X and Y with Z")
  • Add IsMutuallyExclusive method to UnitEquipmentItem to determine whether mutex groups overlap

comment:3 Changed 10 years ago by ibboard

(In r289) Re #180: Add multiple mutex groups

  • Make WinForms UI handle multiple groups instead of assuming one

comment:4 Changed 10 years ago by ibboard

(In r290) Re #180: Add multiple mutex groups

  • Make WinForms UI handle multiple groups instead of assuming one

comment:5 Changed 10 years ago by ibboard

Resolution: fixed
Status: acceptedclosed

Changes in r288 should cover everything. Remaining code is just more intelligent handling in UIs (e.g. in the example in the description the UI should check and say "broadsword is also exclusive of shield as well as sword - remove shield as well?")

comment:6 Changed 10 years ago by ibboard

released: 1

Mark released changes as released

comment:7 Changed 10 years ago by ibboard

released: 1yes

Mark released fixes as released using radio values

comment:8 Changed 10 years ago by ibboard

Resolution: fixedreleased

Mark fix as released under a previous version

Note: See TracTickets for help on using tickets.