public void F_AddGroup() { Lvl_BlockGroup n1 = GameObject.Instantiate(GroupPrefab).transform.GetComponent <Lvl_BlockGroup>(); n1.transform.position = ViewPoint.transform.position; n1.transform.parent = LevelRoot; n1.F_SetTile(Core_Base.F_GetTileByID(GroupTileID)); SetActiveGrp(n1); }
void SetActiveGrp(Lvl_BlockGroup grp) { if (MyActvBlockGrp != null) { MyActvBlockGrp.Actv = false; } MyActvBlockGrp = grp; MyActvBlockGrp.Actv = true; }
bool CheckMark(string key) { foreach (RaycastHit go in AllMarkHits) { if (go.collider.transform.GetComponent <Mark>().Key == key) { Lvl_BlockGroup tst = go.collider.transform.GetComponentInParent <Lvl_BlockGroup>(); if (MyActvBlockGrp == null || MyActvBlockGrp != tst) { ToolHit = go; return(true); } } } return(false); }
void Work_GrpControl() { if (CurEditMode == E_EditModeType.Group) { if (!GrpInterface.activeSelf) { GrpInterface.SetActive(true); F_BuildListForGroup(LastGrpInd); } if (MyActvBlockGrp != null) { if (MyActvBlockGrp.Actv) { GroupMarker.transform.position = MyActvBlockGrp.MyPos - (Vector3.right + Vector3.up) * MyActvBlockGrp.BlockSiz * 0.5f; GroupMarker.transform.localScale = (MyActvBlockGrp.MySiz + Vector3.one) * MyActvBlockGrp.BlockSiz; if (GrpModType == "ReSiz") { MyActvBlockGrp.F_SetSize(ToolPos + MousePosDelta); } if (GrpModType == "RePos") { MyActvBlockGrp.transform.position = ToolPos + SnapToGrid(MousePosDelta); } } if (Input.GetMouseButtonUp(0)) { if (GrpModType == "ReSiz") { MyActvBlockGrp.F_ShowGeom(); } GrpModType = "Non"; } if (Input.GetMouseButtonDown(0)) { if (CheckMark("Gico")) { Debug.Log(ToolHit.collider.transform.GetComponent <Mark>().SubKey); MyActvBlockGrp.F_ChangeTileID(ToolHit.collider.transform.GetComponent <Mark>().SubKey); F_BuildListForGroup(ToolHit.collider.transform.GetComponent <Mark>().Num); } else { StrtMousePos = MousePos; if (CheckMark("RePosGroup")) { GrpModType = "RePos"; ToolPos = MyActvBlockGrp.transform.position; } else { if (CheckMark("ReSizeGroup")) { GrpModType = "ReSiz"; ToolPos = MyActvBlockGrp.MySiz; } } } } } else { if (Input.GetMouseButtonDown(0)) { if (CheckMark("Gico")) { Debug.Log(ToolHit.collider.transform.GetComponent <Mark>().SubKey); F_BuildListForGroup(ToolHit.collider.transform.GetComponent <Mark>().Num); } } GroupMarker.transform.position = Vector3.back * 50f; } if (Input.GetMouseButtonDown(1)) { if (CheckMark("Block")) { SetActiveGrp(ToolHit.collider.transform.GetComponentInParent <Lvl_BlockGroup>()); } else { if (MyActvBlockGrp != null) { MyActvBlockGrp.Actv = false; MyActvBlockGrp = null; } } } Vector3 ButPos = Vector3.zero; foreach (Mark go in GroupMarker.transform.GetComponentsInChildren <Mark>()) { if (go.Key == "sbut") { ButPos = go.transform.position; } } GroupSizeButton.transform.position = ButPos; } else { GrpInterface.SetActive(false); } }