zoukankan      html  css  js  c++  java
  • 背包_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;
    }

  • 相关阅读:
    2020年12月学习记录
    Data Protection Application Programming Interface滥用攻击
    另类的缓存凭证收集
    js获取地址栏参数,携带参数跳转页面
    用JS获取地址栏参数的方法
    解决vue加载时闪烁
    vue-cli-service build 不同环境配置
    vite创建vue3.x项目报404的解决方案
    后端开发完接口才给出接口文档,合理吗?
    API研发实现规范化管理的价值
  • 原文地址:https://www.cnblogs.com/softimagewht/p/2172976.html
Copyright © 2011-2022 走看看