Example #1
0
 public override void Draw(GameObject obj, DrawingSurface ds, bool shadow = true)
 {
     if (!obj.Drawable.Props.Cloakable)
     {
         ShpRenderer.DrawAlpha(obj, Shp, Props, ds);
     }
 }
Example #2
0
 public override void DrawShadow(GameObject obj, DrawingSurface ds)
 {
     if (InvisibleInGame || Shp == null)
     {
         return;
     }
     if (Props.HasShadow && !Props.Cloakable)
     {
         ShpRenderer.DrawShadow(obj, Shp, Props, ds);
     }
 }
Example #3
0
 public override void Draw(GameObject obj, DrawingSurface ds, bool shadow = true)
 {
     if (InvisibleInGame || Shp == null)
     {
         return;
     }
     ShpRenderer.Draw(Shp, obj, this, Props, ds);
     if (Props.HasShadow && shadow)
     {
         ShpRenderer.DrawShadow(obj, Shp, Props, ds);
     }
 }
Example #4
0
        public override Rectangle GetBounds(GameObject obj)
        {
            if (InvisibleInGame || Shp == null)
            {
                return(Rectangle.Empty);
            }

            var bounds = ShpRenderer.GetBounds(obj, Shp, Props);

            bounds.Offset(obj.Tile.Dx * TileWidth / 2, (obj.Tile.Dy - obj.Tile.Z) * TileHeight / 2);
            bounds.Offset(Props.GetOffset(obj));
            return(bounds);
        }
Example #5
0
        public override Rectangle GetBounds(GameObject obj)
        {
            if (InvisibleInGame || terrainShp?.Shp == null)
            {
                return(Rectangle.Empty);
            }
            var renderer = new ShpRenderer(_config, _vfs);
            var bounds   = renderer.GetBounds(obj, terrainShp.Shp, Props);

            bounds.Offset(obj.Tile.Dx * _config.TileWidth / 2, (obj.Tile.Dy - obj.Tile.Z) * _config.TileHeight / 2);
            bounds.Offset(Props.GetOffset(obj));
            return(bounds);
        }
Example #6
0
 public override void Draw(GameObject obj, DrawingSurface ds, bool omitShadow = false)
 {
     if (Props.HasShadow && !omitShadow && !obj.Drawable.Props.Cloakable)
     {
         ShpRenderer.DrawShadow(obj, Shp, Props, ds);
     }
     if (TransLucency == 0)
     {
         base.Draw(obj, ds, omitShadow);
     }
     else if (!(obj.Drawable.Props.Cloakable && TransLucency > 0))
     {
         Logger.Debug("Drawing object {0} with {1}% translucency", obj, TransLucency);
         ShpRenderer.Draw(Shp, obj, this, Props, ds, TransLucency);
     }
 }
Example #7
0
 public override void Draw(GameObject obj, DrawingSurface ds, bool shadow = true)
 {
     if (InvisibleInGame || Shp == null)
     {
         return;
     }
     if (OwnerCollection != null && OwnerCollection.Type == CollectionType.Infantry)
     {
         int randomDir = -1;
         if (ModConfig.ActiveConfig.ExtraOptions.FirstOrDefault() != null && ModConfig.ActiveConfig.ExtraOptions.FirstOrDefault().EnableRandomInfantryFacing)
         {
             randomDir = random.Next(256);
         }
         Props.FrameDecider = FrameDeciders.InfantryFrameDecider(Ready_Start, Ready_Count, Ready_CountNext, randomDir);
     }
     if (Props.HasShadow && shadow && !Props.Cloakable)
     {
         ShpRenderer.DrawShadow(obj, Shp, Props, ds);
     }
     ShpRenderer.Draw(Shp, obj, this, Props, ds, Props.Cloakable ? 50 : 0);
 }
Example #8
0
 public ShpDrawable(ShpRenderer renderer, ShpFile shpFile)
 {
     _renderer = renderer;
     Shp       = shpFile;
 }
Example #9
0
 public ShpDrawable(ModConfig config, VirtualFileSystem vfs, IniFile.IniSection rules, IniFile.IniSection art, ShpFile shpFile = null)
     : base(config, vfs, rules, art)
 {
     _renderer = new ShpRenderer(config, vfs);
     Shp       = shpFile;
 }
Example #10
0
 public AlphaDrawable(ShpRenderer renderer, ShpFile alphaShpFile) : base(renderer, alphaShpFile)
 {
     Props.Offset       = new Point(0, 15);
     Props.FrameDecider = FrameDeciders.AlphaImageFrameDecider(Shp);
 }