Trying custom execution periodic data
This commit is contained in:
@@ -106,7 +106,7 @@ public partial class WeaponSystem : RigidBody3D, IDamageDealer, IForgeEntity
|
||||
FlyingState.StateEntered += FlyingStarted;
|
||||
FlyingState.StateExited += FlyingEnded;
|
||||
|
||||
WeaponFlyingTick.Timeout += RaiseWeaponFlyingTickEvent;
|
||||
// WeaponFlyingTick.Timeout += RaiseWeaponFlyingTickEvent;
|
||||
}
|
||||
|
||||
public void FlyingStarted()
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using Gamesmiths.Forge.Abilities;
|
||||
using Gamesmiths.Forge.Core;
|
||||
using Gamesmiths.Forge.Effects;
|
||||
using Gamesmiths.Forge.Effects.Calculator;
|
||||
using Gamesmiths.Forge.Effects.Components;
|
||||
using Gamesmiths.Forge.Effects.Duration;
|
||||
using Gamesmiths.Forge.Effects.Magnitudes;
|
||||
@@ -22,6 +23,7 @@ using Movementtests.player_controller.Scripts;
|
||||
using Movementtests.scenes.player_controller.scripts;
|
||||
using Movementtests.tools;
|
||||
using Movementtests.forge.abilities;
|
||||
using Movementtests.tools.calculators;
|
||||
using Movementtests.tools.effects;
|
||||
using RustyOptions;
|
||||
|
||||
@@ -771,7 +773,18 @@ public partial class PlayerController : CharacterBody3D,
|
||||
);
|
||||
|
||||
EffectsManager.ApplyEffect(new Effect(flyingGrantEffect, new EffectOwnership(this, this)));
|
||||
|
||||
|
||||
flyingWeaponEffect = new EffectData(
|
||||
"Flying Weapon",
|
||||
new DurationData(DurationType.Infinite),
|
||||
customExecutions:
|
||||
[
|
||||
new FlyingWeaponExecution(WeaponSystem)
|
||||
],
|
||||
periodicData: new PeriodicData(new ScalableFloat(1f), false, PeriodInhibitionRemovedPolicy.ResetPeriod)
|
||||
);
|
||||
flyingWeaponEffectHandle = EffectsManager.ApplyEffect(new Effect(flyingWeaponEffect, new EffectOwnership(this, this)));
|
||||
flyingWeaponEffectHandle?.SetInhibit(true);
|
||||
}
|
||||
// Forge events
|
||||
var weaponLeftToken = WeaponSystem.Events.Subscribe<WeaponLeftPayload>(WeaponSystem.WeaponLeftTag, OnWeaponLeft);
|
||||
@@ -779,8 +792,13 @@ public partial class PlayerController : CharacterBody3D,
|
||||
var weaponLandedToken = WeaponSystem.Events.Subscribe<WeaponLandPayload>(WeaponSystem.WeaponLandTag, OnWeaponLanded);
|
||||
}
|
||||
|
||||
private EffectData flyingWeaponEffect;
|
||||
private ActiveEffectHandle? flyingWeaponEffectHandle;
|
||||
|
||||
public void OnWeaponLeft(EventData<WeaponLeftPayload> data)
|
||||
{
|
||||
//flyingWeaponEffectHandle?.SetInhibit(false);
|
||||
|
||||
var target = data.Target;
|
||||
|
||||
var tagsManager = ForgeManager.GetTagsManager(this);
|
||||
@@ -791,6 +809,8 @@ public partial class PlayerController : CharacterBody3D,
|
||||
|
||||
public void OnWeaponLanded(EventData<WeaponLandPayload> data)
|
||||
{
|
||||
flyingWeaponEffectHandle?.SetInhibit(true);
|
||||
|
||||
var source = data.Source;
|
||||
var target = data.Target;
|
||||
var magnitude = data.EventMagnitude;
|
||||
|
||||
Reference in New Issue
Block a user