public override void Draw(GameObject obj, DrawingSurface ds, bool shadow = true) { if (!obj.Drawable.Props.Cloakable) { ShpRenderer.DrawAlpha(obj, Shp, Props, ds); } }
public override void DrawShadow(GameObject obj, DrawingSurface ds) { if (InvisibleInGame || Shp == null) { return; } if (Props.HasShadow && !Props.Cloakable) { ShpRenderer.DrawShadow(obj, Shp, Props, ds); } }
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); } }
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); }
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); }
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); } }
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); }
public ShpDrawable(ShpRenderer renderer, ShpFile shpFile) { _renderer = renderer; Shp = shpFile; }
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; }
public AlphaDrawable(ShpRenderer renderer, ShpFile alphaShpFile) : base(renderer, alphaShpFile) { Props.Offset = new Point(0, 15); Props.FrameDecider = FrameDeciders.AlphaImageFrameDecider(Shp); }