Система одежды C# для персонажа ⇐ C#

Место общения программистов C#
Anonymous
Система одежды C# для персонажа

Сообщение Anonymous »

Я пытаюсь создать гибкую систему одевания моего персонажа в игре. Прямо сейчас у меня есть базовый класс, из которого будут расширяться все классы детской одежды, и дополнительные интерфейсы, позволяющие указать, какие части тела они на самом деле одевают, в уравнение. Вот мой код:

Код: Выделить всё

public class Clothing
{
public EClothingBind[] Types;
public int ID;
public int Priority;
public bool HidesUnderlying;
public AnimatedSpriteMap Graphic;
public Color Blend = Color.White;

public virtual void Update(GameTime gameTime)
{
Graphic.Update(gameTime);
}

public virtual void Draw(Vector2 position)
{
Graphic.Tint = Blend;
Graphic.Draw(position);
}
}

public interface IClothingHead { ... }
public interface IClothingChest { ... }
public interface IClothingLegs { ... }
public interface IClothingFeet { ... }
Сейчас это работает не очень хорошо, поскольку дизайн на самом деле не ограничивает то, что может реализовать мои интерфейсы IClothing. Есть ли способ ограничить реализацию интерфейса определенными типами? Я не хочу превращать свои интерфейсы в классы, потому что мне бы хотелось, чтобы предмет одежды, скажем, халат, закрывал все тело (реализуя все четыре). Я немного не понимаю, как лучше всего это сделать, и любой вклад очень ценен. Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/845 ... -character

Вернуться в «C#»