Exemplo n.º 1
0
    public void Konckback_Remove()
    {
        curKnockback = null;

        curKnockbackMode        = KnockbackMode.Weak;
        ResetGravityOnKnockback = false;
        KnockbackDir            = Vector2.zero;
        KnockbackCurve          = null;

        PlayerActionEventManager.Trigger(PlayerActions.KnockbackEnd);
    }
 public PlayerStatus_Knockback(
     StatusID id,
     GameObject caster,
     KnockbackMode mode,
     bool resetGravity,
     Vector2 knockbackDir,
     AnimationCurve speedCurve) : base(id, caster, StatusType.Debuff, speedCurve.keys[speedCurve.keys.Length - 1].time)
 {
     this.mode         = mode;
     this.resetGravity = resetGravity;
     this.knockbackDir = knockbackDir;
     this.speedCurve   = speedCurve;
 }
Exemplo n.º 3
0
    public void Konckback_Add(PlayerStatus_Knockback status, KnockbackMode mode, bool resetGravity, Vector2 knockbackDir, AnimationCurve speedCurve)
    {
        if (curKnockbackMode == KnockbackMode.Unstoppable || curKnockbackMode > mode)
        {
            return;
        }

        RemoveEffect(curKnockback);
        curKnockback = status;

        curKnockbackMode        = mode;
        ResetGravityOnKnockback = resetGravity;
        KnockbackDir            = knockbackDir;
        KnockbackCurve          = speedCurve;

        PlayerActionEventManager.Trigger(PlayerActions.Knockbacked);
    }
Exemplo n.º 4
0
    protected override void Awake()
    {
        base.Awake();

        if (statusEffects != null)
        {
            RemoveAllEffect();
        }

        statusEffects = new Dictionary <StatusID, List <PlayerStatusEffect> >();

        AbsorbDamage = new BoolCount();
        IgnoreDamage = new BoolCount();

        slowList         = new List <PlayerStatus_Slow>();
        curKnockback     = null;
        curKnockbackMode = KnockbackMode.Weak;
        IsStunned        = new BoolCount();
    }