This commit is contained in:
parent
83a0990f8e
commit
3984b767c4
103 changed files with 3802 additions and 0 deletions
102
Scripts/Items/Special/Rares/Containers/BaseWaterContainer.cs
Normal file
102
Scripts/Items/Special/Rares/Containers/BaseWaterContainer.cs
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public abstract class BaseWaterContainer : Container, IHasQuantity
|
||||
{
|
||||
public abstract int voidItem_ID { get; }
|
||||
public abstract int fullItem_ID { get; }
|
||||
public abstract int MaxQuantity { get; }
|
||||
|
||||
public override int DefaultGumpID { get { return 0x3d; } }
|
||||
|
||||
public virtual bool IsEmpty { get { return ( m_Quantity == 0 ); } }
|
||||
public virtual bool IsFull { get { return ( m_Quantity >= MaxQuantity ); } }
|
||||
public virtual int currItemID { get { return ( IsEmpty ) ? voidItem_ID : fullItem_ID; } }
|
||||
|
||||
private int m_Quantity;
|
||||
|
||||
public int Quantity
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_Quantity;
|
||||
}
|
||||
set
|
||||
{
|
||||
if( value != m_Quantity && !IsFull )
|
||||
{
|
||||
UpdateContainer( value );
|
||||
|
||||
InvalidateProperties();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public BaseWaterContainer( int Item_Id, bool filled )
|
||||
: base( Item_Id )
|
||||
{
|
||||
m_Quantity = ( filled ) ? MaxQuantity : 0;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if( IsEmpty )
|
||||
{
|
||||
base.OnDoubleClick( from );
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnSingleClick( Mobile from )
|
||||
{
|
||||
if( IsEmpty )
|
||||
{
|
||||
base.OnDoubleClick( from );
|
||||
}
|
||||
}
|
||||
|
||||
public override void GetProperties( ObjectPropertyList list )
|
||||
{
|
||||
if( IsEmpty )
|
||||
{
|
||||
base.GetProperties( list );
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnDragDropInto( Mobile from, Item item, Point3D p )
|
||||
{
|
||||
if( !IsEmpty )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return base.OnDragDropInto( from, item, p );
|
||||
}
|
||||
|
||||
public virtual void UpdateContainer( int amount )
|
||||
{
|
||||
m_Quantity = amount;
|
||||
Movable = IsEmpty;
|
||||
ItemID = currItemID;
|
||||
}
|
||||
|
||||
public BaseWaterContainer( Serial serial )
|
||||
: base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int)0 ); // version
|
||||
writer.Write( (int)m_Quantity );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
m_Quantity = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue