public InstallObj Detach()
        {
            InstallObj old = obj;

            obj = null;
            return(old);
        }
 public void Attach(InstallObj obj)
 {
     this.obj = obj;
     if (installCtrl.CurrStapComplete())
     {
         RemoteCtrl.EndExecuteCommand();
     }
 }
        /// <summary>
        /// QuickUnInstall
        /// </summary>
        /// <param name="posList"></param>
        public void QuickUnInstallPosListObjects(List <InstallPos> posList)
        {
            InstallPos pos;

            for (int i = 0; i < posList.Count; i++)
            {
                pos         = posList[i];
                pickedUpObj = pos.Detach();
                pickedUpObj.QuickUnInstall();
            }
        }
Пример #4
0
 /// <summary>
 /// 在未屏幕锁的情况下选中一个没有元素
 /// </summary>
 void SelectAnElement()
 {
     ray = Camera.main.ScreenPointToRay(Input.mousePosition);
     if (Physics.Raycast(ray, out hit, 100, elementLayer))
     {
         pickedUpObj = hit.collider.GetComponent <InstallObj>();
         if (pickedUpObj != null && startParent.PickUpObject(pickedUpObj))
         {
             pickedUp = true;
         }
     }
 }
        /// <summary>
        /// 快速安装 列表
        /// </summary>
        /// <param name="posList"></param>
        public void QuickInstallPosListObjects(List <InstallPos> posList)
        {
            InstallPos pos;

            for (int i = 0; i < posList.Count; i++)
            {
                pos         = posList[i];
                pickedUpObj = GetUnInstalledObj(pos.name);
                pickedUpObj.QuickInstall(pos);
                pos.Attach(pickedUpObj);
            }
        }
 /// <summary>
 /// 拿起元素
 /// </summary>
 /// <param name="pickedUpObj"></param>
 public bool PickUpObject(InstallObj pickedUpObj)
 {
     if (!pickedUpObj.Installed)
     {
         this.pickedUpObj = pickedUpObj;
         pickedUpObj.OnPickUp();
         return(true);
     }
     else
     {
         return(false);
     }
 }
 void Start()
 {
     foreach (Transform item in transform)
     {
         InstallObj obj = item.GetComponent <InstallObj>();
         if (objectList.ContainsKey(obj.name))
         {
             objectList[obj.name].Add(obj);
         }
         else
         {
             objectList[obj.name] = new List <InstallObj>()
             {
                 obj
             };
         }
     }
 }