示例#1
0
 public static void DrawRangeCircle(WorldRenderer wr, WPos pos, int range, Color color)
 {
     wr.DrawRangeCircleWithContrast(
         Color.FromArgb(128, color),
         wr.ScreenPxPosition(pos),
         range,
         Color.FromArgb(96, Color.Black));
 }
示例#2
0
		public static void DrawRangeCircle(WorldRenderer wr, WPos pos, int range, Color color)
		{
			wr.DrawRangeCircleWithContrast(
				pos,
				WRange.FromCells(range),
				Color.FromArgb(128, color),
				Color.FromArgb(96, Color.Black)
			);
		}
        public void RenderAfterWorld(WorldRenderer wr)
        {
            if (self.Owner != self.World.LocalPlayer)
                return;

            wr.DrawRangeCircleWithContrast(
                Color.FromArgb(128, Color.LimeGreen),
                wr.ScreenPxPosition(self.CenterPosition), self.Info.Traits.Get<DetectCloakedInfo>().Range,
                Color.FromArgb(96, Color.Black));
        }
示例#4
0
        // Range circle
        public void RenderAfterWorld(WorldRenderer wr)
        {
            // Visible to player and allies
            if (!ValidRenderPlayer())
                return;

            wr.DrawRangeCircleWithContrast(
                Color.FromArgb(128, Ready() ? Color.White : Color.Red),
                wr.ScreenPxPosition(self.CenterPosition), Info.Range,
                Color.FromArgb(96, Color.Black));
        }
示例#5
0
		public void RenderAfterWorld(WorldRenderer wr)
		{
			if (self.Owner != self.World.LocalPlayer)
				return;

			wr.DrawRangeCircleWithContrast(
				self.CenterPosition,
				self.Info.Traits.Get<CreatesShroudInfo>().Range,
				Color.FromArgb(128, Color.Cyan),
				Color.FromArgb(96, Color.Black)
			);
		}
示例#6
0
        public void RenderAfterWorld(WorldRenderer wr)
        {
            if (self.Owner != self.World.LocalPlayer)
                return;

            // Hack: Convert world coords to cells
            var pxRange = self.Trait<AttackBase>().GetMaximumRange().Range / 1024f;
            wr.DrawRangeCircleWithContrast(
                Color.FromArgb(128, Color.Yellow),
                wr.ScreenPxPosition(self.CenterPosition), pxRange,
                Color.FromArgb(96, Color.Black));
        }
示例#7
0
        public void Render(WorldRenderer wr, World w, ActorInfo ai, WPos centerPosition)
        {
            wr.DrawRangeCircleWithContrast(
                Color.FromArgb(128, Color.Cyan),
                wr.ScreenPxPosition(centerPosition),
                ai.Traits.Get<CreatesShroudInfo>().Range,
                Color.FromArgb(96, Color.Black));

            foreach (var a in w.ActorsWithTrait<RenderShroudCircle>())
                if (a.Actor.Owner == a.Actor.World.LocalPlayer)
                    a.Trait.RenderAfterWorld(wr);
        }
示例#8
0
        public void Render(WorldRenderer wr, World w, ActorInfo ai, WPos centerPosition)
        {
            wr.DrawRangeCircleWithContrast(
                Color.FromArgb(128, Color.Yellow), wr.ScreenPxPosition(centerPosition),
                ai.Traits.WithInterface<ArmamentInfo>()
                    .Select(a => Rules.Weapons[a.Weapon.ToLowerInvariant()].Range).Max(),
                Color.FromArgb(96, Color.Black));

            foreach (var a in w.ActorsWithTrait<RenderRangeCircle>())
                if (a.Actor.Owner == a.Actor.World.LocalPlayer)
                    if (a.Actor.Info.Traits.Get<RenderRangeCircleInfo>().RangeCircleType == RangeCircleType)
                        a.Trait.RenderAfterWorld(wr);
        }
示例#9
0
        public void RenderAfterWorld(WorldRenderer wr, World world)
        {
            if (!self.IsInWorld || self.Owner != self.World.LocalPlayer)
                return;

            if (!self.Trait<PortableChrono>().Info.HasDistanceLimit)
                return;

            wr.DrawRangeCircleWithContrast(
                self.CenterPosition,
                WRange.FromCells(self.Trait<PortableChrono>().Info.MaxDistance),
                Color.FromArgb(128, Color.LawnGreen),
                Color.FromArgb(96, Color.Black)
            );
        }
示例#10
0
        // Range circle
        public void RenderBeforeWorld(WorldRenderer wr, Actor self)
        {
            // Visible to player and allies
            if (!self.Owner.IsAlliedWith(self.World.RenderPlayer))
                return;

            wr.DrawRangeCircleWithContrast(
                Color.FromArgb(128, Ready() ? Color.White : Color.Red),
                self.CenterLocation.ToFloat2(), Info.Range,
                Color.FromArgb(96, Color.Black), 1);
        }