Data
Overview
Data structures used by CRESOURCEUMODULE for resource definitions and the card deck mechanic. All structs are BlueprintType and derive from FTableRowBase for DataTable integration.
Resource Structures
| Name |
Description |
| FCResourceStruct |
DataTable row holding a TSubclassOf<UObject> resourceClass reference for a named resource |
| FCResourceMetadataStruct |
DataTable row holding display metadata: FText label and UTexture2D* icon |
// FCResourceStruct — maps a resource name to a UClass
// Used by consume/supply to resolve the resource class from a DataTable row
FCResourceStruct row;
row.resourceClass = AMyResourceActor::StaticClass();
// FCResourceMetadataStruct — display metadata for UI
FCResourceMetadataStruct meta;
meta.label = FText::FromString("Water");
meta.icon = myTexture;
Deck Structures
| Name |
Description |
| FCCardRowBase |
DataTable row for a card: cardTag, cost, agentIcoArray, influence, force, whereToSpawn |
| UCCard |
UObject wrapper around FCCardRowBase for runtime card instances |
| FCPlayerCardArea |
Player card zones: playerDeck, playerHand (up to 5), playerAgent (up to 2), playerDiscard |
| UCGameCardArea |
Game-level card area: gameDeck, gameRiver, gameDiscard, plus a playerCardArea and roomExchange array |
| FCResourceRoom |
Pairs an ECResourceIco resource icon with a float quantity |
| FCRoomExchange |
DataTable row defining a room’s requirements (room, agentRequired, resourceRequired) and rewards (troopDeploymentAllowed, resourceReward) |
// FCCardRowBase — card definition in a DataTable
// Fields: cardTag (FName), cost (uint8), agentIcoArray (TArray<ECAgentIco>),
// influence (uint8), force (uint8), whereToSpawn (TArray<ECRoom>)
// UCCard — runtime wrapper
UCCard* card = NewObject<UCCard>();
card->cardRowBase = myCardRow;
// FCPlayerCardArea — player's card zones
FCPlayerCardArea area;
area.playerDeck; // draw pile
area.playerHand; // current hand (max 5)
area.playerAgent; // cards played as agents (max 2)
area.playerDiscard; // discard pile
// UCGameCardArea — full game card state
UCGameCardArea* gca;
gca->gameDeck; // game draw pile
gca->gameRiver; // visible market cards
gca->gameDiscard; // game discard
gca->playerCardArea; // player zones
gca->roomExchange; // room exchange rules
Enums
| Name |
Description |
| ECBoard |
Board identifiers (PALACE, ARRAKIS, HIGH_COUNCIL, EMPEROR, SPACING_GUILD, BENE_GESSERIT, FREMEN) |
| ECCluster |
Cluster identifiers grouping multiple environments on screen |
| ECRoom |
Room identifiers within clusters, connected by paths |
| ECAgentIco |
Agent icon types (color-coded factions) |
| ECResourceIco |
Resource icon types (SOLARI, EPICE, WATER, influences, TROOP, INTRIGUE, etc.) |