Exemple #1
0
        //获得指定扇形的物品(仅供父级场景调用)
        public Item[] GetSectorItems(Vector2Int sectorCenterPos, Vector2 sectorDir, int sectorRadius,
                                     float sectorHalfDegrees, string belong = null, bool isNotIncludeChildScene = false)
        {
            List <Item> result = new List <Item>();
            var         items  = GetItems(null, belong, isNotIncludeChildScene);

            for (var i = 0; i < items.Length; i++)
            {
                var        item = items[i];
                Vector2Int pos  = item.GetEnv <Scene>().ToParentPos(item.GetPos(), this);
                if (AStarUtil.IsInSector(pos, sectorCenterPos, sectorDir, sectorRadius, sectorHalfDegrees))
                {
                    result.Add(item);
                }
            }

            return(result.ToArray());
        }
Exemple #2
0
 public bool IsInSector(Vector2Int sectorCenterPos, Vector2 sectorDir, int sectorRadius,
                        float sectorHalfDegrees)
 {
     return(AStarUtil.IsInSector(this.GetPos(), sectorCenterPos, sectorDir, sectorRadius, sectorHalfDegrees));
 }