var mouseTextureHander : MouseTextureHanding;
private var buttonClicked : boolean = false;//获取按钮是否按下
private var objAttached : boolean = false; //TRUE 当一个模型从背包中选择
private var posBags: Vector2[];
private var flagAvailable : Array;
private var indexBags:int;
private var toggleAllBags :boolean = false;
private var objectsInBag : GameObject[];
private var LastSlotUsed :int = 63; //获取最后一次被点击的图标
private var slotMovedFlag : boolean = false; //控制是否可以移动
function Start()
{
objectsInBag = new GameObject[64];
flagAvailable = new Array();
posBags = [Vector2(195,260),Vector2(195,465),Vector2(385,260),Vector2(385,465)];
for(var i=0 ; i<posBags.length; i++)
{
flagAvailable.push(true);
}
indexBags = 0;
}
//快捷键
function Update()
{
if(Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.B))
{
for(var child : Transform in transform)
{
if(child.GetComponent(InventoryGrid) == null)
{
break;
}
if(toggleAllBags)
{
child.GetComponent(InventoryGrid).HideBag();
}
else
{
if(!child.GetComponent(InventoryGrid).BagIsBeingDisplayed())
{
child.GetComponent(InventoryGrid).ShowBag();
}
}
}
if(toggleAllBags)
{
toggleAllBags = false;
}
else
{
toggleAllBags = true;
}
}
if(Input.GetMouseButtonUp(0) && !buttonClicked && objAttached)
{
ReleaseObjectFromInventory(LastSlotUsed);
LastSlotUsed = 63;
objAttached = false;
}
}
function GetPositionAvailable()
{
var found :boolean = false;
for(indexBags = 0 ; indexBags < flagAvailable.length;indexBags++)
{
if(flagAvailable[indexBags])
{
found = true;
break;
}
}
if(!found)
{
Debug.Log("Erro:Please ADD ");
return;
}
flagAvailable[indexBags] = false;
return Vector3(posBags[indexBags].x , posBags[indexBags].y , indexBags);
}
function FreePosition(t:int)
{
flagAvailable[t] = true;
}
function ReleaseObjectFromInventory( t : int)
{
mouseTextureHander.ReleaseCursorIcon();
objectsInBag[t].transform.parent = null ;
Destroy (objectsInBag[t]);
objectsInBag[t] = null;
/*
objectsInBag[t].active = true;
objectsInBag[t].transform.localPosition+= Vector3(0,1,0.5);
objectsInBag[t].transform.parent = null ;
mouseTextureHander.ReleaseCursorIcon();
objectsInBag[t] = null;
*/
}
function SaveObjectInInventory(obj :GameObject)
{
for(var i : int = 0; i < objectsInBag.length;i++)
{
if(objectsInBag[i] == null)
{
objectsInBag[i] = obj;
obj.transform.localPosition = Vector3.zero;
obj.active = false;
obj.transform.parent = transform;
return;
}
}
}
function GetObjectsInBag(t : int)
{
return objectsInBag[t];
}
function SetObjectInBag(t : int , obj : GameObject)
{
objectsInBag[t] = obj;
}
function SetLastSlotUsed( t : int)
{
LastSlotUsed = t;
}
function GetLastSlotUsed()
{
return LastSlotUsed;
}
function SetSlotMovedFlag( val : boolean)
{
slotMovedFlag = val;
}
function GetSlotMovedFlag()
{
return slotMovedFlag;
}
function GetButtonClicked()
{
return buttonClicked;
}
function SetButtonClicked(val : boolean)
{
buttonClicked = val;
}
function GetObjectAttached()
{
return objAttached;
}
function SetObjAttached(val :boolean)
{
objAttached = val;
}