コード例 #1
0
        public override void OnColliderEnter(AbilityColliderTrigger abilityColliderTrigger, Collider col)
        {
            if (col.tag == "Player" && !cols.ContainsKey(col))
            {
                cols.Add(col, Time.time);

                // Stun the player and push away
                PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>();
                if (psm.IsAffectedByCC(new CrowdControl(CrowdControlType.ForcedMove, DamageType.AreaOfEffect, DamageElement.Physical)))
                {
                    psm.ApplyCrowdControl(new CrowdControl(CrowdControlType.Stun, DamageType.AreaOfEffect, DamageElement.Physical), STUN_DURATION);
                    PushAway(psm, abilityColliderTrigger, col);
                }
            }
        }
コード例 #2
0
        private void DamagePart1(Collider col)
        {
            PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>();
            Damage dmg = new Damage(SHIELD_DMG, DamageType.AreaOfEffect, DamageElement.Physical, em.transform.position);

            if (psm.IsAffectedBy(dmg, em))
            {
                if (psm.IsAffectedByCC(new CrowdControl(CrowdControlType.ForcedMove, DamageType.AreaOfEffect, DamageElement.Physical)))
                {
                    psm.ApplyCrowdControl(new CrowdControl(CrowdControlType.Stun, DamageType.AreaOfEffect, DamageElement.Physical), STUN_DURATION);
                    PushAway(col);
                }
                psm.TakeDamage(dmg, em);
                missed = false;
            }
        }