Example #1
0
    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));
    }
Example #3
0
    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);
        });
    }
Example #4
0
 public abstract void OnStartEvent(GameObject src, OnStartData data);