LADXHD/InGame/Things/GameItem.cs
2023-12-14 17:21:22 -05:00

88 lines
2.5 KiB
C#

using Microsoft.Xna.Framework;
using ProjectZ.InGame.SaveLoad;
namespace ProjectZ.InGame.Things
{
public class GameItem
{
public readonly DictAtlasEntry Sprite;
public readonly Rectangle? SourceRectangle;
// show a different sprite when drawn on the map compared to the one shown in the inventory
public readonly DictAtlasEntry MapSprite;
public readonly bool AnimateSprite;
public readonly string Name;
public readonly string PickUpDialog;
public readonly string SoundEffectName;
public readonly int MusicName;
public readonly bool TurnDownMusic;
public readonly int Level;
public readonly int Count;
public readonly int MaxCount;
public readonly int DrawLength;
public readonly bool IsRelict;
public readonly bool Equipable;
public readonly bool ShowEffect;
public readonly int ShowAnimation;
public readonly int ShowTime;
public GameItem(
DictAtlasEntry sprite = null,
DictAtlasEntry mapSprite = null,
bool animateSprite = false,
string name = null, string pickUpDialog = null,
string soundEffectName = null, int musicName = -1, bool turnDownMusic = false,
int level = 0,
int count = 0, int maxCount = 0, int drawLength = 2,
bool isRelict = false, bool equipable = false,
bool showEffect = false, int showAnimation = 0, int showTime = 250)
{
Sprite = sprite;
MapSprite = mapSprite;
if (sprite != null)
SourceRectangle = sprite.SourceRectangle;
AnimateSprite = animateSprite;
Name = name;
PickUpDialog = pickUpDialog;
SoundEffectName = soundEffectName;
MusicName = musicName;
TurnDownMusic = turnDownMusic;
Level = level;
Count = count;
MaxCount = maxCount;
DrawLength = drawLength;
IsRelict = isRelict;
Equipable = equipable;
ShowEffect = showEffect;
ShowAnimation = showAnimation;
ShowTime = showTime;
}
}
public class GameItemCollected
{
public string Name;
public string LocationBounding;
public int Count;
public GameItemCollected(string name)
{
Name = name;
}
}
}