Пример #1
0
        public bool isCritical(StandardEntity player, StandardEntity enemy = null)
        {
            if (whatEntity == WhatEntity.enemy)
            {
                if (enemy == null)
                {
                    return(false);
                }
                else
                {
                    switch (requirement)
                    {
                    case EventRequirement.isAirborne:
                        return(false);

                    case EventRequirement.afflictedWith:
                        // if entity has the required status effect
                        //true
                        //else
                        return(false);

                    default:
                        return(false);
                    }
                }
            }
            else
            {
                switch (requirement)
                {
                case EventRequirement.isAirborne:
                    return(false);

                case EventRequirement.afflictedWith:
                    // if entity has the required status effect
                    //true
                    //else
                    return(false);

                default:
                    return(false);
                }
            }
        }
Пример #2
0
    public List <StandardEntity> GetEntitiesInHitbox()
    {
        Collider2D[]          cols     = Physics2D.OverlapCircleAll(transform.position, range, mask);
        List <StandardEntity> entities = new List <StandardEntity>();

        foreach (var c in cols)
        {
            StandardEntity e = c.GetComponentInParent <StandardEntity>();
            if (e && !entities.Contains(e))
            {
                Vector3 dirToTarget = (e.transform.position - transform.position).normalized;
                if (Vector3.Angle(transform.right, dirToTarget) <= angle / 2)
                {
                    entities.Add(e);
                }
            }
        }

        return(entities);
    }
Пример #3
0
        private void OnTriggerEnter2D(Collider2D other)
        {
            if (targetLayer != (targetLayer | (1 << other.gameObject.layer)))
            {
                return;
            }

            StandardEntity e = other.GetComponent <StandardEntity>();

            if (e)
            {
                switch (type)
                {
                case HitboxType.basic:
                default:
                    //e.Hit();
                    break;

                case HitboxType.knockback:
                    e.Hit(damage, hitForce);
                    break;
                }
            }
        }
Пример #4
0
 //if x happens to to entity y then run z
 public bool Test(StandardEntity host, StandardEntity target)
 {
     return(false);
 }