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(); } }
/// <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 }; } } }