public override void OnStartEvent(GameObject src, OnStartData data) { var manager = src.GetComponent <SpellPrefabManager>(); var owner = manager.GetOwner(); if (data.m_FollowRuleData.m_CenterAroundCaster) { var circle = owner.GetComponent <Collider2D>(); if (data.m_FollowRuleData.m_MoveImmediately) { src.transform.position = data.m_FollowRuleData.m_FollowOffset + circle.bounds.center - owner.transform.position; } manager.m_FollowOffset = data.m_FollowRuleData.m_FollowOffset + circle.bounds.center - owner.transform.position; } else { var circle = owner.GetComponent <Collider2D>(); if (data.m_FollowRuleData.m_MoveImmediately) { src.transform.position = data.m_FollowRuleData.m_FollowOffset + circle.bounds.center - owner.transform.position; } manager.m_FollowOffset = data.m_FollowRuleData.m_FollowOffset; } manager.SetFollowerOwner(data.m_FollowRuleData.m_FollowRule); manager.m_FollowSmoothDamp = data.m_FollowRuleData.m_FollowSmoothDamp; manager.SetUseAimedTarget(data.m_FollowRuleData.m_UseAimedTarget); }
public override void OnStartEvent(GameObject src, OnStartData data) { StatusComponent status = src.AddComponent <StatusComponent>() as StatusComponent; status.SetMaxHealth(data.m_StatusComponentData.m_Health); status.Heal(data.m_StatusComponentData.m_Health, GameplayStatics.DamageType.Null); status.m_CanUseIFrames = data.m_StatusComponentData.m_Health > 0; status.m_IFrameTime = data.m_StatusComponentData.m_IFrameTime; status.m_DamagePopupOverride = data.m_StatusComponentData.m_OverrideDmgType; status.AddOnDeath(() => Destroy(src)); }
public override void OnStartEvent(GameObject src, OnStartData data) { var manager = src.GetComponent <SpellPrefabManager>(); var owner = manager.GetOwner(); manager.SetFollowerOwner(FollowWho.Player); manager.GetOwner().GetComponent <EffectManagerComponent>().AddToSpeedMult(data.m_General.m_Value); manager.AddOnDestruction(() => { owner.layer = LayerMask.NameToLayer("Player"); manager.GetOwner().GetComponent <EffectManagerComponent>().AddToSpeedMult(-data.m_General.m_Value); }); }
public abstract void OnStartEvent(GameObject src, OnStartData data);