Initial commit: Item Interaction Ecosystem plugin (UE5.7)
Server-authoritative, data-driven item/inventory/interaction/carry/equipment/ world-slot/placement/crafting framework. 8 modules, compiles against UE 5.7. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
22
Source/ItemCore/Private/ItemCoreModule.cpp
Normal file
22
Source/ItemCore/Private/ItemCoreModule.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
// Copyright ExByte Studios. Item Interaction Ecosystem.
|
||||
|
||||
#include "ItemCoreModule.h"
|
||||
#include "ItemCoreLog.h"
|
||||
|
||||
DEFINE_LOG_CATEGORY(LogItemCore);
|
||||
|
||||
#define LOCTEXT_NAMESPACE "FItemCoreModule"
|
||||
|
||||
void FItemCoreModule::StartupModule()
|
||||
{
|
||||
UE_LOG(LogItemCore, Log, TEXT("ItemCore module started."));
|
||||
}
|
||||
|
||||
void FItemCoreModule::ShutdownModule()
|
||||
{
|
||||
UE_LOG(LogItemCore, Log, TEXT("ItemCore module shut down."));
|
||||
}
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
|
||||
IMPLEMENT_MODULE(FItemCoreModule, ItemCore)
|
||||
77
Source/ItemCore/Private/ItemNativeTags.cpp
Normal file
77
Source/ItemCore/Private/ItemNativeTags.cpp
Normal file
@ -0,0 +1,77 @@
|
||||
// Copyright ExByte Studios. Item Interaction Ecosystem.
|
||||
|
||||
#include "ItemNativeTags.h"
|
||||
|
||||
namespace ItemEcosystemTags
|
||||
{
|
||||
// --- Runtime property tags ---
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_Durability, "Property.Durability");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_Freshness, "Property.Freshness");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_RotProgress, "Property.RotProgress");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_Temperature, "Property.Temperature");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_Wetness, "Property.Wetness");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_FuelAmount, "Property.FuelAmount");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_MaxFuel, "Property.MaxFuel");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_BatteryCharge, "Property.BatteryCharge");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_Contamination, "Property.Contamination");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_NoiseLevel, "Property.NoiseLevel");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_SmellIntensity,"Property.SmellIntensity");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_BloodLevel, "Property.BloodLevel");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_Radiation, "Property.Radiation");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_Poison, "Property.Poison");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_CookedLevel, "Property.CookedLevel");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_BurnLevel, "Property.BurnLevel");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_Quality, "Property.Quality");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_Charge, "Property.Charge");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Property_LastUpdateTime,"Property.LastUpdateTime");
|
||||
|
||||
// --- State tags ---
|
||||
UE_DEFINE_GAMEPLAY_TAG(State_Broken, "Item.State.Broken");
|
||||
UE_DEFINE_GAMEPLAY_TAG(State_Rotten, "Item.State.Rotten");
|
||||
UE_DEFINE_GAMEPLAY_TAG(State_Wet, "Item.State.Wet");
|
||||
UE_DEFINE_GAMEPLAY_TAG(State_Contaminated, "Item.State.Contaminated");
|
||||
UE_DEFINE_GAMEPLAY_TAG(State_Empty, "Item.State.Empty");
|
||||
|
||||
// --- Lock reasons ---
|
||||
UE_DEFINE_GAMEPLAY_TAG(Lock_Carrying, "Lock.Carrying");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Lock_Using, "Lock.Using");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Lock_Transferring, "Lock.Transferring");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Lock_Crafting, "Lock.Crafting");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Lock_Installing, "Lock.Installing");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Lock_Replicating, "Lock.Replicating");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Lock_Placement, "Lock.Placement");
|
||||
|
||||
// --- Action verbs ---
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Pickup_Instant, "Action.Pickup.Instant");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Pickup, "Action.Pickup");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Open, "Action.Open");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Carry, "Action.Carry");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Drop, "Action.Drop");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Equip, "Action.Equip");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Inspect, "Action.Inspect");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Use, "Action.Use");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Install, "Action.Install");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Remove, "Action.Remove");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_Place, "Action.Place");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Action_UseHeldOnTarget, "Action.UseHeldOnTarget");
|
||||
|
||||
// --- Feature tags ---
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Consumable, "Feature.Consumable");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Rotting, "Feature.Rotting");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Durability, "Feature.Durability");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Battery, "Feature.Battery");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Fuel, "Feature.Fuel");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Wetness, "Feature.Wetness");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Temperature, "Feature.Temperature");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_NoiseOnDrop, "Feature.NoiseOnDrop");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Smell, "Feature.Smell");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Container, "Feature.Container");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Equippable, "Feature.Equippable");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Throwing, "Feature.Throwing");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Breakable, "Feature.Breakable");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Flammable, "Feature.Flammable");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Placeable, "Feature.Placeable");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Installable, "Feature.Installable");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_QuestItem, "Feature.QuestItem");
|
||||
UE_DEFINE_GAMEPLAY_TAG(Feature_Cursed, "Feature.Cursed");
|
||||
}
|
||||
7
Source/ItemCore/Private/ItemRuntimeProperties.cpp
Normal file
7
Source/ItemCore/Private/ItemRuntimeProperties.cpp
Normal file
@ -0,0 +1,7 @@
|
||||
// Copyright ExByte Studios. Item Interaction Ecosystem.
|
||||
|
||||
// FItemRuntimeProperties now stores its values in replicable TArrays (see header),
|
||||
// so no custom net serializer is required - this translation unit is intentionally
|
||||
// left empty and kept only to preserve the module's file layout.
|
||||
|
||||
#include "ItemRuntimeProperties.h"
|
||||
Reference in New Issue
Block a user