コード例 #1
0
 void CheckOneWay()
 {
     if (!enableOneWayPlatforms || velocityDirection.y < 0)
     {
         return;
     }
     Collider2D[] cols;
     cols = oneWayDetectZone.DetectColliders(transform);
     if (cols.Length > 0 && !ignoringLayers)
     {
         StartCoroutine(StartIgnoreLayers());
     }
 }
コード例 #2
0
ファイル: ItemWeaponMelee.cs プロジェクト: Kingbird123/Cube3
    void Attack()
    {
        cols = detectZone.DetectColliders(transform);
        if (cols.Length > 0)
        {
            for (int i = 0; i < Data.unitAmount; i++)
            {
                if (!damagedCols.Contains(cols[i]))
                {
                    Vector2 dir = Data.direction;
                    if (Data.bounceType == ItemWeaponMeleeData.BounceType.ClosetPoints)
                    {
                        dir = (cols[i].bounds.center - detectZone.offset).normalized;
                    }
                    else if (Data.bounceType == ItemWeaponMeleeData.BounceType.XOnly)
                    {
                        if (curUnitOwner.transform.position.x < cols[i].transform.position.x)
                        {
                            dir = Vector2.right;
                        }
                        else
                        {
                            dir = Vector2.left;
                        }
                    }

                    var u = cols[i].GetComponent <Unit>();
                    if (u)
                    {
                        DamageUnit(u, dir);
                        damagedCols.Add(cols[i]);
                    }
                }
            }
        }
    }
コード例 #3
0
 void DoDetection()
 {
     cols = detectZone.DetectColliders(transform).ToList();
 }