using System;
using System.Diagnostics;
using System.Globalization;
using LavishScriptAPI;
using MRBot.IsxEq2.Helpers;
namespace MRBot.IsxEq2.InventoryConsignment
{
///
/// *** Notes:
/// *** 1. A "ContainerWindow" is any window that says 'Container' on it's name tab. As of right now, it refers most often to the
/// *** 'Harvest Supply Depot'.
/// *** 2. You may only have one "ContainerWindow" open at a time.
/// *** 3. The "ContainerWindow" TLO and related datatypes are only available when the container window is OPEN. (However, it does
/// *** not matter how far away you are from said container.)
///
public class ContainerWindow : LavishScriptObject
{
#region Constructor
///
/// Constructor
///
/// LS Object
public ContainerWindow(LavishScriptObject copy) : base(copy) { }
#endregion
#region Members
///
/// Returns the ContainerWindowItem at the specified index. (1 to NumItems)
///
/// index
public ContainerWindowItem Item(int index)
{
Trace.WriteLine(String.Format("ContainerWindow:Item({0})", index.ToString(CultureInfo.InvariantCulture)));
return new ContainerWindowItem(this.GetMember("Item", index.ToString(CultureInfo.InvariantCulture)));
}
///
/// Returns the ContainerWindowItem by name.
///
/// name
public ContainerWindowItem Item(string name)
{
Trace.WriteLine(String.Format("ContainerWindow:Item({0})", name));
return new ContainerWindowItem(this.GetMember("Item", name));
}
///
/// The number of ContainerWindowItems in the ContainerWindow
///
public int NumItems
{
get
{
Trace.WriteLine(String.Format("ContainerWindow:NumItems"));
return this.GetIntFromLSO("NumItems");
}
}
#endregion
#region Methods
///
/// Removes the quantity of the ContainerWindowItem from the ContainerWindow
///
/// ContainerWindowItem ID
/// quantity
/// call success
public bool RemoveItem(int itemID, int quantity)
{
Trace.WriteLine(String.Format("ContainerWindow:RemoveItem({0}, {1})",
itemID.ToString(CultureInfo.InvariantCulture), quantity.ToString(CultureInfo.InvariantCulture)));
return this.ExecuteMethod("RemoveItem",itemID.ToString(CultureInfo.InvariantCulture),
quantity.ToString(CultureInfo.InvariantCulture));
}
#endregion
}
}