Files
RobustToolbox/SS14.Client/Placement/PlacementMode.cs
2017-05-20 22:26:34 +02:00

54 lines
1.3 KiB
C#

using SFML.Graphics;
using SFML.System;
using SS14.Client.Interfaces.Map;
namespace SS14.Client.Placement
{
public class PlacementMode
{
public readonly PlacementManager pManager;
public TileRef currentTile;
public Vector2i mouseScreen;
public Vector2f mouseWorld;
public Sprite spriteToDraw;
public PlacementMode(PlacementManager pMan)
{
pManager = pMan;
}
public virtual string ModeName
{
get { return GetType().Name; }
}
public virtual bool Update(Vector2i mouseScreen, IMapManager currentMap) //Return valid position?
{
return false;
}
public virtual void Render()
{
}
public Sprite GetSprite(string key)
{
if (key == null || !pManager.ResourceManager.SpriteExists(key))
{
return pManager.ResourceManager.GetNoSprite();
}
else
{
return pManager.ResourceManager.GetSprite(key);
}
}
public Sprite GetDirectionalSprite(string baseSprite)
{
if (baseSprite == null) pManager.ResourceManager.GetNoSprite();
return GetSprite((baseSprite + "_" + pManager.Direction.ToString()).ToLowerInvariant());
}
}
}