コード例 #1
0
        IEnumerable <WPos> TargetablePositions(Actor self)
        {
            if (Info.UseTargetableCellsOffsets && targetableCells != null)
            {
                foreach (var c in targetableCells.TargetableCells())
                {
                    yield return(self.World.Map.CenterOfCell(c.Cell));
                }
            }

            foreach (var o in Info.TargetableOffsets)
            {
                var offset = CalculateTargetableOffset(self, o);
                yield return(self.CenterPosition + offset);
            }
        }
コード例 #2
0
ファイル: HitShape.cs プロジェクト: hadow/Commander
        IEnumerable <WPos> ITargetablePositions.TargetablePositions(Actor self)
        {
            if (IsTraitDisabled)
            {
                yield break;
            }
            if (Info.UseTargetableCellsOffsets && targetableCells != null)
            {
                foreach (var c in targetableCells.TargetableCells())
                {
                    yield return(self.World.Map.CenterOfCell(c.First));
                }
            }

            foreach (var o in Info.TargetableOffsets)
            {
                var offset = orientation.LocalToWorld(o.Rotate(orientation.QuantizeOrientation(self, self.Orientation)));
                yield return(self.CenterPosition + offset);
            }
        }