背包_PositionController

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;
}

你可能感兴趣的:(controller)