private void GridUI_OnLeftEndDrag(Transform prevTransform, Transform enterTransform) { isDrag = false; DragItemUI.Hide(); if (enterTransform == null) { ItemModel.DeleteItem(prevTransform.name); } else if (enterTransform.tag == "Grid") { if (enterTransform.childCount == 0) { Item item = ItemModel.GetItem(prevTransform.name); this.CreateNewItem(item, enterTransform); ItemModel.DeleteItem(prevTransform.name); } else { //删除原来的物品 Destroy(enterTransform.GetChild(0).gameObject); //获取数据 Item prevGirdItem = ItemModel.GetItem(prevTransform.name); Item enterGirdItem = ItemModel.GetItem(enterTransform.name); //交换的两个物体 this.CreateNewItem(prevGirdItem, enterTransform); this.CreateNewItem(enterGirdItem, prevTransform); } } else { Item item = ItemModel.GetItem(prevTransform.name); this.CreateNewItem(item, prevTransform); } }
private void GridUI_OnLeftEndDrag(Transform beginGrid, Transform endGrid) { if (endGrid == null)//丢弃物品 { ItemModel.DeleteItem(beginGrid.name); } else if (endGrid.tag == "Grid") //放入一个空的或有物体的格子中 { if (endGrid.childCount == 0) //该格子为空 { Item item = ItemModel.GetItem(beginGrid.name); this.PutIntoGrid(item, endGrid); //在完成物品转移以后移除数据 ItemModel.DeleteItem(beginGrid.name); } else//目标格子中已有物品 { Item beginItem = ItemModel.GetItem(beginGrid.name); Item endItem = ItemModel.GetItem(endGrid.name); //把目标格子中的已有物品先删除掉 Destroy(endGrid.GetChild(0).gameObject); this.PutIntoGrid(beginItem, endGrid); this.PutIntoGrid(endItem, beginGrid); } } else//放到背包外面 { Item item = ItemModel.GetItem(beginGrid.name); this.PutIntoGrid(item, beginGrid); } IsDrag = false; DragItemUI.Hide(); }
private void GridUI_OnLeftEndDrag(Transform oldTransform, Transform enterTransform) { isDrag = false; dragItemUI.Hide(); if (enterTransform == null) { ItemModel.DeleteItem(oldTransform.name); } else if (enterTransform.tag == "Grid") { if (enterTransform.childCount == 0) { Item item = ItemModel.GetItem(oldTransform.name); CreatNewItem(item, enterTransform); ItemModel.DeleteItem(oldTransform.name); } else { Destroy(enterTransform.GetChild(0).gameObject); Item oldGridItem = ItemModel.GetItem(oldTransform.name); Item enterGridItem = ItemModel.GetItem(enterTransform.name); this.CreatNewItem(oldGridItem, enterTransform); this.CreatNewItem(enterGridItem, oldTransform); } } else { Item item = ItemModel.GetItem(oldTransform.name); CreatNewItem(item, enterTransform); } }
private void GridUI_OnLeftEndDrag(Transform preTransform, Transform enterTransform) { isDrag = false; DragItemUI.Hide(); if (enterTransform == null) //扔东西 { ItemModel.DeleteItem(preTransform.name); Debug.LogWarning("物品已扔"); } else if (enterTransform.tag == "Grid") //拖到格子里 { if (enterTransform.childCount == 0) //直接扔进去 { Item item = ItemModel.GetItem(preTransform.name); this.CreateNewItem(item, enterTransform); ItemModel.DeleteItem(preTransform.name); } else //交换 { Destroy(enterTransform.GetChild(0).gameObject); Item preGridItem = ItemModel.GetItem(preTransform.name); Item enterGridItem = ItemModel.GetItem(enterTransform.name); this.CreateNewItem(preGridItem, enterTransform); this.CreateNewItem(enterGridItem, preTransform); } } else //拖到缝隙里就还原 { Item item = ItemModel.GetItem(preTransform.name); this.CreateNewItem(item, preTransform); } }
//重新排列 public void Rearrange() { List <Transform> nums = Panalui.FindItem(); var items = new List <Item>();//用于存储即将重新排序的Items for (int i = 0; i < nums.Count; i++) { items.Add(ItemModel.GetItem(nums[i].name)); //获得Item信息 ItemModel.DeleteItem(nums[i].name); //清空表 } for (int i = 0; i < items.Count; i++) { Transform EmptyGrid = Panalui.GetGridname(i);//使用PanalUI脚本中的GetEmpty()方法获得空的Grid if (EmptyGrid == null) { Debug.Log("背包已经满了"); return; } Item temp = items[i]; this.CreateNewItem(temp, EmptyGrid); } }
public ActionResult DeleteItem(int id) { if (checkLogin()) { _itemModel.DeleteItem(id); return(RedirectToAction("index")); } return(RedirectToAction("Login", "Admin")); }
public void DeleteButtonClick(Image selectedImage) { if (selectedImage.IsActive() == false) { return; } selectedImage.gameObject.SetActive(false); Destroy(selectedImage.transform.parent.FindChild("Item(Clone)").gameObject); ItemModel.DeleteItem(selectedImage.transform.parent.name); selectedImage.transform.SetParent(null); }
//放弃把背包内物品拖拽到场景里了。。。还是试试点击吧 //private void GridUI_OnLeftDrag(Transform DragTransform) //{ // isdrag = true; // Vector2 position; // float leftPos,rightPos,upPos,downPos; // RectTransformUtility.ScreenPointToLocalPointInRectangle(GameObject.Find("Canvas").transform as RectTransform, // Input.mousePosition, MainCamera, out position); // rightPos = GridPanel.sizeDelta.x / 2; // leftPos = -GridPanel.sizeDelta.x / 2; // upPos = GridPanel.sizeDelta.y / 2; // downPos = -GridPanel.sizeDelta.y / 2; // Debug.Log(position); // if (position.x < leftPos || position.x > rightPos || position.y > upPos || position.y < downPos) // { // isOut = true; // } // if (isOut == true) // { // GameObject.Find("Canvas").GetComponent<Canvas>().planeDistance = 0; // isOut = false; // } //} private void GridUI_OnLeftEndDrag(Transform GridTransStart, Transform GridTransEnd) //当鼠标停止拖拽 { if (GridTransStart) { isdrag = false; } dragItemUI.hidden(); //隐藏被拖拽时出现的物品 if (GridTransEnd == null) //拖到背包外面返回原位置 { Items item = ItemModel.GetItem(GridTransStart.name); CreatNewItem(item, GridTransStart); } else if (GridTransEnd.tag == "Grid") //若拖到了另一个格子上 { if (GridTransEnd.childCount == 0) //若为空格子 { Items item = ItemModel.GetItem(GridTransStart.name); //取得开始拖拽的格子对应的物品 ItemModel.DeleteItem(GridTransStart.name); //删除开始拖拽的格子存储的物品信息 CreatNewItem(item, GridTransEnd); //在拖拽结束的格子处创建对应物品并存储数据 } else //交换 { Destroy(GridTransEnd.GetChild(0).gameObject); //获取拖拽开始和结束时的物品信息 Items ItemStart = ItemModel.GetItem(GridTransStart.name); Items ItemEnd = ItemModel.GetItem(GridTransEnd.name); //得到未点燃的火把 if ((ItemStart.ID == 2 && ItemEnd.ID == 1) || (ItemStart.ID == 1 && ItemEnd.ID == 2)) { CreatNewItem(PackageItemList[4], GridTransEnd); } else { //在开始结束的格子中分别创建结束开始的物品 CreatNewItem(ItemStart, GridTransEnd); CreatNewItem(ItemEnd, GridTransStart); } } } else //拖到其他地方,返回原位置 { Items item = ItemModel.GetItem(GridTransStart.name); CreatNewItem(item, GridTransStart); } }
//鼠标结束拖动 public void GridUI_onLeftEndDrag(Transform prevTransform, Transform enterTransform) { //判断是否在拖着东西 if (isDrag == false) { return; } isDrag = false; DragITemUI.Hide(); if (enterTransform == null)//扔掉东西 { Debug.LogWarning("reng"); ItemModel.DeleteItem(prevTransform.name); } else if (enterTransform.tag == "Grid")//拖到当前各自或其他格子 { Debug.LogWarning("kongge"); if (enterTransform.childCount == 0) //直接放入 { Item item = ItemModel.GetItem(prevTransform.name); this.CreateNewItem(item, enterTransform); ItemModel.DeleteItem(prevTransform.name); } else //交换格子的物品 { Item preItem = ItemModel.GetItem(prevTransform.name); Item enterItem = ItemModel.GetItem(enterTransform.name); Destroy(enterTransform.GetChild(0).gameObject); this.CreateNewItem(preItem, enterTransform); this.CreateNewItem(enterItem, prevTransform); } } else//拖到其他地方 { Item item = ItemModel.GetItem(prevTransform.name); this.CreateNewItem(item, prevTransform); } }
private void GridUI_OnLeftEndDrag(Transform preTransform, Transform gridTransform) { isDrag = false; dragItemUI.Hide(); if (gridTransform == null) { //丢弃当前Item ItemModel.DeleteItem(preTransform.name); Debug.Log("丢弃"); } else { //如果拖到另外一个或者当前的格子里面 if (gridTransform.tag == "Grid") { //如果Grid下面没有子物体则直接扔进去 if (gridTransform.childCount == 0) { Item item = ItemModel.GetItem(preTransform.name); this.CreateNewItem(item, gridTransform); ItemModel.DeleteItem(preTransform.name); } //执行交换 else { Destroy(gridTransform.GetChild(0).gameObject); //获取数据 Item prevGirdItem = ItemModel.GetItem(preTransform.name); Item enterGirdItem = ItemModel.GetItem(gridTransform.name); //交换的两个物体 this.CreateNewItem(prevGirdItem, gridTransform); this.CreateNewItem(enterGirdItem, preTransform); } } //如果拖到UI的其他地方则还原 else { Item item = ItemModel.GetItem(preTransform.name); this.CreateNewItem(item, preTransform); } } }
private void GridUI_ExitDrag(Transform lasttransform, Transform transform) { Isdrag = false; dragitemui.HideText(); if (transform == null) //ui 外 { ItemModel.DeleteItem(lasttransform.name); Debug.Log("物品已移除"); } else if (transform.tag == "Grid") //拖到格子里 { if (transform.childCount == 0) //空格子 { Item item = ItemModel.GetItem(lasttransform.name); if (item != null) { ItemModel.DeleteItem(lasttransform.name); } CreatNewItem(item, transform); } else //已存在交换 { //删除原来的物品 Destroy(transform.GetChild(0).gameObject); //获取数据 Item prevGirdItem = ItemModel.GetItem(lasttransform.name); Item enterGirdItem = ItemModel.GetItem(transform.name); //交换的两个物体 this.CreatNewItem(prevGirdItem, transform); this.CreatNewItem(enterGirdItem, lasttransform); } } else //格子外 { // Item item = ItemModel.GetItem(lasttransform.name); // CreatNewItem(item, lasttransform); } }
public void GridUI_OnLeftEndDrag(Transform GridTransform, Transform GridEndTransform) { isDrag = false; DragItemUi.Hide(); /*判断拖拽结束时指着的格子上有没有物体,如果有就进行交换,没有就把物品直接放上去*/ if (GridEndTransform == null) //扔东西 { ItemModel.DeleteItem(GridTransform.name); //删除之前格子的信息 Debug.LogWarning("物品已扔"); } else if (GridEndTransform.tag == "Grid") //如果拖到另一个格子或者当前格子里里 { if (GridEndTransform.childCount == 0) //直接扔进去 { Item item = ItemModel.GetItem(GridTransform.name); //获得之前的数据 this.CreateNewItem(item, GridEndTransform); //创建出新的Item ItemModel.DeleteItem(GridTransform.name); //删除之前格子的信息 } else//交换 { Item item1 = ItemModel.GetItem(GridTransform.name); //获得之前的数据 Item item2 = ItemModel.GetItem(GridEndTransform.name); //获得之后的数据 Destroy(GridEndTransform.GetChild(0).gameObject); //将该位置的物体删除 ItemModel.DeleteItem(GridTransform.name); //删除之后格子的信息 ItemModel.DeleteItem(GridTransform.name); //删除之前格子的信息 this.CreateNewItem(item1, GridEndTransform); //创建出新的Item this.CreateNewItem(item2, GridTransform); //创建出新的Item } } else//如果拖到UI其他地方 { Item item = ItemModel.GetItem(GridTransform.name);//获得之前的数据 this.CreateNewItem(item, GridTransform);//创建出新的Item } }
private void GridUIItem_onLeftEndDrag(Transform prevTransform, Transform enterTransform) { //ragItemUIScript isDrag = false; dragItemUIScript.IsShowDragItem(false); if (enterTransform == null)//拖到UI外面,扔了 { ItemModel.DeleteItem(prevTransform.name); Debug.Log("扔东西"); } //1.拖到另一地方, else if (enterTransform.tag == "Grid") {//是否子物体有值 if (enterTransform.childCount == 0) { Item item = ItemModel.GetItem(prevTransform.name); createNewItem(item, enterTransform); ItemModel.DeleteItem(prevTransform.name); } else { Destroy(enterTransform.GetChild(0).gameObject); Item prevGridItem = ItemModel.GetItem(prevTransform.name); Item enterGridItem = ItemModel.GetItem(enterTransform.name); this.createNewItem(prevGridItem, enterTransform); this.createNewItem(enterGridItem, prevTransform); } } else//拖到UI的其他 的地方 { Item item = ItemModel.GetItem(prevTransform.name); createNewItem(item, prevTransform); } }
private void GridUI_OnLeftEndDrag(Transform prevTransform, Transform enterTransform) { isDrag = false; DragItemUI.Hide(); if (enterTransform == null)//扔东西 { ItemModel.DeleteItem(prevTransform.name); Debug.LogWarning("物品已扔"); } else if (enterTransform.tag == "Grid") //拖到另一个或者当前格子里 { if (enterTransform.childCount == 0) //直接扔进去 { Item item = ItemModel.GetItem(prevTransform.name); this.CreatNewItem(item, enterTransform); ItemModel.DeleteItem(prevTransform.name); } else //交换 { //删除原来的物品 Destroy(enterTransform.GetChild(0).gameObject); //获取数据 Item prevGirdItem = ItemModel.GetItem(prevTransform.name); Item enterGirdItem = ItemModel.GetItem(enterTransform.name); //交换的两个物体 this.CreatNewItem(prevGirdItem, enterTransform); this.CreatNewItem(enterGirdItem, prevTransform); } } else//拖到UI的其他地方,让他还原 { Item item = ItemModel.GetItem(prevTransform.name); this.CreatNewItem(item, prevTransform); } }
/// <summary> /// 结束拖拽,实现物品的交换或者恢复原位置 /// </summary> /// <param name="prevTransform"></param> /// <param name="enterTransform"></param> void GridUI_OnLeftEndDrag(Transform prevTransform, Transform enterTransform) { isDrag = false; m_DragItemUI.Hide(); if (enterTransform == null) //拖到其他位置,丢弃 { ItemModel.DeleteItem(prevTransform.name); Debug.Log("物品已扔"); } else if (enterTransform.tag == "Grid") //和别的网格交换或者自己交换 { if (prevTransform == enterTransform) //和自己交换 { Debug.Log("果然是同一位置!"); Item item = ItemModel.GetItem(prevTransform.name); if (item != null) { this.CreateNewItem(item, prevTransform); } } else //和别的网格交换 { if (enterTransform.childCount == 0) //如果拖拽到的位置为空 { Item item = ItemModel.GetItem(prevTransform.name); //保证拖拽的网格内部有物体,如果没有,则不会创建新的物体 if (item == null) { return; } ItemModel.DeleteItem(prevTransform.name); this.CreateNewItem(item, enterTransform); } else //有物体 { Destroy(enterTransform.FindChild("Item(Clone)").gameObject); Item curItem = ItemModel.GetItem(prevTransform.name); Item nextItem = ItemModel.GetItem(enterTransform.name); this.CreateNewItem(curItem, enterTransform); this.CreateNewItem(nextItem, prevTransform); } } } else //拖到别的位置,恢复到自身状态 { Item item = ItemModel.GetItem(prevTransform.name); if (item != null) { this.CreateNewItem(item, prevTransform); } } }
private void RayCast(Vector3 screenPos) //射线检测鼠标点击事件 !!不能为collider 2D!!否则检测不到 { Ray ray = FindEnableCamera(Camera.allCameras).ScreenPointToRay(screenPos); RaycastHit hit; //防止点击UI时射线穿透 if (Physics.Raycast(ray, out hit) && !EventSystem.current.IsPointerOverGameObject()) //&&!EventSystem.current.IsPointerOverGameObject() { Debug.Log(hit.collider.gameObject.name); switch (hit.collider.gameObject.name) { case "背包": //背包画布不可见 canves.GetComponent <Canvas>().planeDistance = 60; GameManager._Instance.one = 0; GameManager._Instance.four = 0; GameManager._Instance.five = 0; GameManager._Instance.six = 0; GameManager._Instance.nine = 0; break; case "tuichu": if (isEnd == false) { SetEnableCamera(cameras, 0); } break; case "HuoPen": if (GameManager._Instance.one == 1) { ToTheScene.Play(); Instantiate(FireWood, hit.collider.transform.position, Quaternion.identity); if (OnclickObj.transform.childCount != 0) { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); GameManager._Instance.one = 0; GameObject.Find("HuoPen").GetComponent <BoxCollider>().enabled = false; } break; case "SuiBu": storeItemToPackage(2, hit.collider.gameObject); break; case "Stick": storeItemToPackage(1, hit.collider.gameObject); break; case "ranhuoba(Clone)": storeItemToPackage(5, hit.collider.gameObject); break; case "FireOnWall": //点燃墙上的火把 if (GameManager._Instance.two == 2) { ToTheScene.Play(); Fire.Play(); Destroy(hit.collider.gameObject); Instantiate(FireWall, hit.collider.gameObject.transform.position, Quaternion.identity); if (OnclickObj.transform.childCount != 0) { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); GameManager._Instance.two = 0; GameObject.Find("Room1(Clone)").SetActive(false); Instantiate(Room2, new Vector3(0.1f, 0, 0), Quaternion.identity); GameObject.Find("buoluohou").GetComponent <BoxCollider>().enabled = false; Fire.Play(); } break; case "youdeng": AttainItem.Play(); BackpackManager._instance.storeItem(9); //点击一次后禁用自身collider GameObject.Find("youdeng").GetComponent <BoxCollider>().enabled = false; break; case "buoluo": Destroy(hit.collider.gameObject); GameObject.Find("buoluohou").GetComponent <BoxCollider>().enabled = true; break; case "buoluohou": SetEnableCamera(cameras, 2); break; case "guizi": Open.Play(); SetEnableCamera(cameras, 1); break; case "地下室·装火药的罐子": AttainItem.Play(); BackpackManager._instance.storeItem(8); GameObject.Find("地下室·装火药的罐子").GetComponent <BoxCollider>().enabled = false; break; case "box": if (GameManager._Instance.three == 3) { PuzzleCanves.GetComponent <Canvas>().planeDistance = 100; } if (GameManager._Instance.seven == 7) { Open.Play(); SetEnableCamera(cameras, 4); } break; case "sahuoyao": if (GameManager._Instance.firstEnd == false) { if (GameManager._Instance.four == 4) { ToTheScene.Play(); Instantiate(Powder, hit.collider.transform.position, Quaternion.identity); if (OnclickObj.transform.childCount != 0) { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); GameObject.Find("sahuoyao").GetComponent <BoxCollider>().enabled = false; GameManager._Instance.four = 0; } } break; case "HuoYao(Clone)": if (GameManager._Instance.five == 5) { ToTheScene.Play(); Instantiate(PowderWick, hit.collider.transform.position, Quaternion.identity); if (OnclickObj.transform.childCount != 0) { Destroy(OnclickObj.transform.GetChild(0).gameObject); } Destroy(hit.collider.gameObject); ItemModel.DeleteItem(GridName); GameManager._Instance.five = 0; } break; case "FireWall(Clone)": storeItemToPackage(7, hit.collider.gameObject); break; case "CaXinHuoYao(Clone)": if (GameManager._Instance.fivePoint == 11) { DoorOut.Play(); GameObject.Find("rockdoor").SetActive(false); Destroy(hit.collider.gameObject); //销毁插芯的火药 if (OnclickObj.transform.childCount != 0) //从背包中销毁火把 { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); GameManager._Instance.secondEnd = true; //开启第二个结局 第一个结局不可见 } break; case "gao": storeItemToPackage(10, hit.collider.gameObject); break; case "zhakaimen": if (GameManager._Instance.six == 6) { Gao.Play(); GameObject.FindGameObjectWithTag("Door1").SetActive(false); if (OnclickObj.transform.childCount != 0) //从背包中销毁镐 { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); Instantiate(BrokenDoor, hit.collider.transform.position, Quaternion.identity); } break; case "zhakaimen(Clone)": SetEnableCamera(cameras, 3); GameObject.Find("背包").SetActive(false); isEnd = true; break; case "打开的箱子": if (GameManager._Instance.eight == 8) { Debug.Log("打开的箱子"); hit.collider.gameObject.SetActive(false); nextBox.SetActive(true); } break; case "石块": storeItemToPackage(11, hit.collider.gameObject); break; case "洞": if (GameManager._Instance.secondEnd == false) { if (GameManager._Instance.nine == 9) { GameObject.Find("zhakaimen").SetActive(false); ToTheScene.Play(); DoorUp.Play(); Instantiate(Rock, hit.collider.transform.position, Quaternion.identity); if (OnclickObj.transform.childCount != 0) { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); GameManager._Instance.nine = 0; doorMove = true; float x = hit.collider.transform.position.x; float y = hit.collider.transform.position.y; float z = hit.collider.transform.position.z; Instantiate(GoOut, new Vector3(x + 6, y, z), Quaternion.identity); GameManager._Instance.firstEnd = true; //得到第一个结局 第二个结局不可实施 } } break; case "desk": SetEnableCamera(cameras, 5); break; case "out(Clone)": if (GameManager._Instance.ten == 10) { SetEnableCamera(cameras, 6); GameObject.Find("背包").SetActive(false); isEnd = true; } break; } } }
private void RayCast(Vector3 screenPos) //射线检测鼠标点击事件 !!不能为collider 2D!!否则检测不到 { Ray ray = FindEnableCamera(Camera.allCameras).ScreenPointToRay(screenPos); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { Debug.Log(hit.collider.gameObject.name); switch (hit.collider.gameObject.name) { case "背包": //背包画布不可见 canves.GetComponent <Canvas>().planeDistance = 100; GameManager._Instance.one = 0; GameManager._Instance.four = 0; GameManager._Instance.five = 0; GameManager._Instance.six = 0; GameManager._Instance.nine = 0; break; case "火盆": if (GameManager._Instance.one == 1) { ToTheScene.Play(); Instantiate(FireWood, hit.collider.transform.position, Quaternion.identity); if (OnclickObj.transform.childCount != 0) { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); GameManager._Instance.one = 0; } break; case "碎布": storeItemToPackage(2, hit.collider.gameObject); break; case "木棍": storeItemToPackage(1, hit.collider.gameObject); break; case "地下室火把(点燃)(Clone)": storeItemToPackage(5, hit.collider.gameObject); break; case "墙上火把": //点燃墙上的火把 if (GameManager._Instance.two == 2) { ToTheScene.Play(); Fire.Play(); Destroy(hit.collider.gameObject); Instantiate(FireWall, hit.collider.gameObject.transform.position, Quaternion.identity); if (OnclickObj.transform.childCount != 0) { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); GameManager._Instance.two = 0; GameObject.Find("大房间1(Clone)").SetActive(false); Instantiate(Room2, new Vector3(0.1f, 0, 0), Quaternion.identity); Fire.Play(); } break; case "油灯": storeItemToPackage(9, hit.collider.gameObject); //点击一次后禁用自身collider GameObject.Find("油灯").GetComponent <BoxCollider>().enabled = false; break; case "剥落的一小块": SetEnableCamera(cameras, 2); break; case "柜子": Open.Play(); SetEnableCamera(cameras, 1); break; case "地下室·装火药的罐子": AttainItem.Play(); BackpackManager._instance.storeItem(8); GameObject.Find("地下室·装火药的罐子").GetComponent <BoxCollider>().enabled = false; break; case "地下室箱子": if (GameManager._Instance.three == 3) { PuzzleCanves.GetComponent <Canvas>().planeDistance = 100; } if (GameManager._Instance.seven == 7) { Open.Play(); SetEnableCamera(cameras, 4); } break; case "洒火药的位置": if (GameManager._Instance.firstEnd == false) { if (GameManager._Instance.four == 4) { ToTheScene.Play(); Instantiate(Powder, hit.collider.transform.position, Quaternion.identity); if (OnclickObj.transform.childCount != 0) { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); GameObject.Find("洒火药的位置").GetComponent <BoxCollider>().enabled = false; GameManager._Instance.four = 0; } } break; case "火药(Clone)": if (GameManager._Instance.five == 5) { ToTheScene.Play(); Instantiate(PowderWick, hit.collider.transform.position, Quaternion.identity); if (OnclickObj.transform.childCount != 0) { Destroy(OnclickObj.transform.GetChild(0).gameObject); } Destroy(hit.collider.gameObject); ItemModel.DeleteItem(GridName); GameManager._Instance.five = 0; } break; case "墙体剥落后图片": Destroy(GameObject.Find("墙体剥落后图片")); break; case "点燃的墙上火把(Clone)": storeItemToPackage(7, hit.collider.gameObject); break; case "插芯的火药(Clone)": if (GameManager._Instance.fivePoint == 11) { DoorOut.Play(); GameObject.Find("石门").SetActive(false); Destroy(hit.collider.gameObject); //销毁插芯的火药 if (OnclickObj.transform.childCount != 0) //从背包中销毁火把 { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); GameManager._Instance.secondEnd = true; //开启第二个结局 第一个结局不可见 } break; case "镐1": storeItemToPackage(10, hit.collider.gameObject); break; case "炸开一块的石门": if (GameManager._Instance.six == 6) { Gao.Play(); GameObject.FindGameObjectWithTag("Door1").SetActive(false); if (OnclickObj.transform.childCount != 0) //从背包中销毁镐 { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); Instantiate(BrokenDoor, hit.collider.transform.position, Quaternion.identity); } break; case "被炸开的石门(Clone)": SetEnableCamera(cameras, 3); GameObject.Find("背包").SetActive(false); isEnd = true; break; case "打开的箱子": if (GameManager._Instance.eight == 8) { hit.collider.gameObject.SetActive(false); nextBox.SetActive(true); } break; case "石块": storeItemToPackage(11, hit.collider.gameObject); break; case "洞": if (GameManager._Instance.secondEnd == false) { if (GameManager._Instance.nine == 9) { GameObject.Find("炸开一块的石门").SetActive(false); ToTheScene.Play(); DoorUp.Play(); Instantiate(Rock, hit.collider.transform.position, Quaternion.identity); if (OnclickObj.transform.childCount != 0) { Destroy(OnclickObj.transform.GetChild(0).gameObject); } ItemModel.DeleteItem(GridName); GameManager._Instance.nine = 0; doorMove = true; float x = hit.collider.transform.position.x; float y = hit.collider.transform.position.y; float z = hit.collider.transform.position.z; Instantiate(GoOut, new Vector3(x + 3, y, z), Quaternion.identity); GameManager._Instance.firstEnd = true; //得到第一个结局 第二个结局不可实施 } } break; case "桌子": SetEnableCamera(cameras, 5); break; case "出口(Clone)": if (GameManager._Instance.ten == 10) { SetEnableCamera(cameras, 6); GameObject.Find("背包").SetActive(false); isEnd = true; } break; } } }