diff --git a/addons/GME/Configs/Editor/AttributeLists/Edit.conf b/addons/GME/Configs/Editor/AttributeLists/Edit.conf index 1646931..9adc7ec 100644 --- a/addons/GME/Configs/Editor/AttributeLists/Edit.conf +++ b/addons/GME/Configs/Editor/AttributeLists/Edit.conf @@ -1,6 +1,6 @@ -SCR_EditorAttributeList : "{F3D6C6D25642352C}Configs/Editor/AttributeLists/Edit.conf" { +SCR_EditorAttributeList { m_aAttributes { - GME_ToggleDamageEditorAttribute "{5964E09573BF5AE9}" { + GME_ToggleDamageCharacterAttribute "{5964E09573BF5AE9}" { m_UIInfo SCR_EditorAttributeUIInfo "{5964E095742FEEF3}" { Name "#GME-Editor_Attribute_EnableDamage_Name" m_cDescriptionIconColor 0.947 0.056 0.056 1 diff --git a/addons/GME/Configs/Editor/AttributeLists/Edit.conf.meta b/addons/GME/Configs/Editor/AttributeLists/Edit.conf.meta index 0aebb23..f21fc02 100644 --- a/addons/GME/Configs/Editor/AttributeLists/Edit.conf.meta +++ b/addons/GME/Configs/Editor/AttributeLists/Edit.conf.meta @@ -11,5 +11,7 @@ MetaFileClass { } CONFResourceClass HEADLESS : PC { } + CONFResourceClass PS5 : PC { + } } } \ No newline at end of file diff --git a/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageCharacterAttribute.c b/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageCharacterAttribute.c new file mode 100644 index 0000000..26d7394 --- /dev/null +++ b/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageCharacterAttribute.c @@ -0,0 +1,14 @@ +//------------------------------------------------------------------------------------------------ +//! Entity attribute for toggle damage on unit +[BaseContainerProps(), SCR_BaseEditorAttributeCustomTitle()] +class GME_ToggleDamageCharacterAttribute : GME_ToggleDamageEditorAttribute +{ + //------------------------------------------------------------------------------------------------ + override SCR_BaseEditorAttributeVar ReadVariable(Managed item, SCR_AttributesManagerEditorComponent manager) + { + if (!SCR_EditableCharacterComponent.Cast(item)) + return null; + + return super.ReadVariable(item, manager); + } +} diff --git a/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageEditorAttribute.c b/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageEditorAttribute.c index 1398edd..e53a707 100644 --- a/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageEditorAttribute.c +++ b/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageEditorAttribute.c @@ -1,29 +1,27 @@ -/** -Entity Attribute for toggle damage on unit -*/ +//------------------------------------------------------------------------------------------------ +//! Entity Attribute for toggle damage on unit [BaseContainerProps(), SCR_BaseEditorAttributeCustomTitle()] class GME_ToggleDamageEditorAttribute : SCR_BaseEditorAttribute { + //------------------------------------------------------------------------------------------------ override SCR_BaseEditorAttributeVar ReadVariable(Managed item, SCR_AttributesManagerEditorComponent manager) { - SCR_EditableEntityComponent editableEntity = SCR_EditableEntityComponent.Cast(item); if (!editableEntity) return null; - IEntity owner = editableEntity.GetOwner(); + IEntity owner = editableEntity.GetOwner(); if (!owner) return null; - if (!SCR_ChimeraCharacter.Cast(owner)) - return null; - SCR_DamageManagerComponent damageComponent = SCR_DamageManagerComponent.Cast(owner.FindComponent(SCR_DamageManagerComponent)); if (!damageComponent) return null; - return SCR_BaseEditorAttributeVar.CreateBool(damageComponent.GME_IsDamageEnabled()); + return SCR_BaseEditorAttributeVar.CreateBool(damageComponent.IsDamageHandlingEnabled()); } + + //------------------------------------------------------------------------------------------------ override void WriteVariable(Managed item, SCR_BaseEditorAttributeVar var, SCR_AttributesManagerEditorComponent manager, int playerID) { if (!var) @@ -40,6 +38,6 @@ class GME_ToggleDamageEditorAttribute : SCR_BaseEditorAttribute if (!damageComponent) return; - damageComponent.GME_SetDamageEnabled(var.GetBool());; + damageComponent.EnableDamageHandling(var.GetBool()); } -}; \ No newline at end of file +} diff --git a/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageVehicleAttribute.c b/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageVehicleAttribute.c index 1bd8b95..f39c7f6 100644 --- a/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageVehicleAttribute.c +++ b/addons/GME/Scripts/Game/GME/Editor/Containers/Attributes/GME_ToggleDamageVehicleAttribute.c @@ -1,46 +1,14 @@ -/** -Entity Attribute for toggle damage on unit -*/ +//------------------------------------------------------------------------------------------------ +//! Entity attribute for toggle damage on vehicle [BaseContainerProps(), SCR_BaseEditorAttributeCustomTitle()] -class GME_ToggleDamageVehicleEditorAttribute : SCR_BaseEditorAttribute +class GME_ToggleDamageVehicleEditorAttribute : GME_ToggleDamageEditorAttribute { + //------------------------------------------------------------------------------------------------ override SCR_BaseEditorAttributeVar ReadVariable(Managed item, SCR_AttributesManagerEditorComponent manager) { - - SCR_EditableEntityComponent editableEntity = SCR_EditableEntityComponent.Cast(item); - if (!editableEntity) - return null; - - IEntity owner = editableEntity.GetOwner(); - if (!owner) + if (!SCR_EditableVehicleComponent.Cast(item)) return null; - if (!Vehicle.Cast(owner)) - return null; - - DamageManagerComponent damageComponent = DamageManagerComponent.Cast(owner.FindComponent(DamageManagerComponent)); - - if (!damageComponent) - return null; - - return SCR_BaseEditorAttributeVar.CreateBool(damageComponent.IsDamageHandlingEnabled()); - } - override void WriteVariable(Managed item, SCR_BaseEditorAttributeVar var, SCR_AttributesManagerEditorComponent manager, int playerID) - { - if (!var) - return; - - SCR_EditableEntityComponent editableEntity = SCR_EditableEntityComponent.Cast(item); - - IEntity owner = editableEntity.GetOwner(); - if (!owner) - return; - - DamageManagerComponent damageComponent = DamageManagerComponent.Cast(owner.FindComponent(DamageManagerComponent)); - if (!damageComponent) - return; - - // toggle damage handling - damageComponent.EnableDamageHandling(var.GetBool()); + return super.ReadVariable(item, manager); } -}; \ No newline at end of file +} diff --git a/addons/GME/Scripts/GameCode/GME/Components/SCR_DamageManagerComponent.c b/addons/GME/Scripts/GameCode/GME/Components/SCR_DamageManagerComponent.c deleted file mode 100644 index 24f9449..0000000 --- a/addons/GME/Scripts/GameCode/GME/Components/SCR_DamageManagerComponent.c +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------------------------ -modded class SCR_DamageManagerComponent : BaseSCR_DamageManagerComponent -{ - protected bool m_bGME_isDamageEnabled = true; - - //------------------------------------------------------------------------------------------------ - bool GME_IsDamageEnabled() - { - return m_bGME_isDamageEnabled; - } - - //------------------------------------------------------------------------------------------------ - void GME_SetDamageEnabled(bool enabled) - { - m_bGME_isDamageEnabled = enabled; - } - - //------------------------------------------------------------------------------------------------ - override bool HijackDamageHandling(notnull BaseDamageContext damageContext) - { - if (m_bGME_isDamageEnabled) - return super.HijackDamageHandling(damageContext); - - return true; - } -}