56 lines
1.7 KiB
Lua
Raw Normal View History

2025-01-04 23:00:19 +08:00
---@class BP_SmokeMechanism_C:BP_TriggerMechanismBase_C
---@field CG014_Version_2050_pickup UStaticMeshComponent
---@field Cylinder UStaticMeshComponent
---@field P_MechanismSmoke UParticleSystemComponent
---@field Scene USceneComponent
---@field Cube UStaticMeshComponent
--Edit Below--
---@type BP_SmokeMechanism_C
local MechanismBase = require('Script.Blueprint.MechanismActor.BP_TriggerMechanismBase')
local BP_SmokeMechanism = setmetatable(
{
DamageFrequency = 10.;
},
{
__index = MechanismBase,
__metatable = MechanismBase
}
);
function BP_SmokeMechanism:ReceiveBeginPlay()
self.SuperClass.ReceiveBeginPlay(self);
MechanismBase.MechanismBeginPlay(self)
self:SetMechanismType(MechanismConfig.TriggerMechanismType.Smoke)
end
function BP_SmokeMechanism:ReceiveEndPlay()
self:MechanismEndPlay()
self.SuperClass.ReceiveEndPlay(self);
end
function BP_SmokeMechanism:Trigger(InTriggeredPlayer, InTriggerDevice, InEnergyValue)
MechanismBase.Trigger(self, InTriggeredPlayer, InTriggerDevice, InEnergyValue)
UGCSendRPCSystem.ActorRPCNotify(nil, self, "ApplySmoke", self.EnergyValue / self.EnergyConsumptionSpeed)
end
function BP_SmokeMechanism:CloseMechanism()
MechanismBase.CloseMechanism(self)
end
function BP_SmokeMechanism:EnableClientTriggerEffects()
MechanismBase.EnableClientTriggerEffects(self)
end
function BP_SmokeMechanism:DisableClientTriggerEffects()
MechanismBase.DisableClientTriggerEffects(self)
self.P_MechanismSmoke:SetActive(false, false)
end
function BP_SmokeMechanism:ApplySmoke(LifeTime)
self.P_MechanismSmoke:SetFloatParameter("Lifetime", LifeTime)
self.P_MechanismSmoke:SetActive(true, true)
end
return BP_SmokeMechanism;