public void PopulateRoomList() { UI_DevMenu_ButtonResponders gcResponder = GetComponent <UI_DevMenu_ButtonResponders>(); GAssert.Assert(null != gcResponder, "Dev Menu not attached to the same object as the button responder!"); GameObject[] aGO = GameObject.FindGameObjectsWithTag(Types.s_sTAG_Doorway); foreach (GameObject go in aGO) { Types.SDevMenuDoorDetails deets = go.GetComponent <Doorway>().GetDoorwayDetails(); if (null != deets._goRoom1) { GameObject goButton1 = Instantiate(m_goScrollListButton, m_gcScrollListContent.transform) as GameObject; GAssert.Assert(null != goButton1, "Unable to add button to scroll list!"); goButton1.transform.localPosition = new Vector3(0f, m_fScrollListOffset, 0f); m_fScrollListOffset -= 20f; Text gcText1 = goButton1.GetComponentInChildren <Text>(); gcText1.text = deets._goRoom1.name.ToString(); UI_SetDevModeButtonClickParams gcParams = goButton1.GetComponent <UI_SetDevModeButtonClickParams>(); if (null != gcParams) { gcParams.SetParams(deets._vPos1, deets._goRoom1, gcResponder); } } if (null != deets._goRoom2) { GameObject goButton2 = Instantiate(m_goScrollListButton, m_gcScrollListContent.transform) as GameObject; GAssert.Assert(null != goButton2, "Unable to add button to scroll list!"); goButton2.transform.localPosition = new Vector3(0f, m_fScrollListOffset, 0f); m_fScrollListOffset -= 20f; Text gcText2 = goButton2.GetComponentInChildren <Text>(); gcText2.text = deets._goRoom2.name.ToString(); UI_SetDevModeButtonClickParams gcParams = goButton2.GetComponent <UI_SetDevModeButtonClickParams>(); if (null != gcParams) { gcParams.SetParams(deets._vPos2, deets._goRoom2, gcResponder); } } } }
// This is used by the DevMenu, which puts all doors into a scrolling // list so you can jump between rooms quickly in DEBUG builds... // public Types.SDevMenuDoorDetails GetDoorwayDetails() { Types.SDevMenuDoorDetails ret = new Types.SDevMenuDoorDetails(); DoorwayTrigger gcDoor1 = null; DoorwayTrigger gcDoor2 = null; Types.SDoorwaySpawn gcDets1; Types.SDoorwaySpawn gcDets2; if (m_iDoorOrientation == Types.EDirection._HORIZONTAL) { gcDoor1 = m_Params._gcCollider_L.gameObject.GetComponent <DoorwayTrigger>(); GAssert.Assert(null != gcDoor1, "Door trigger set without component?!"); gcDets1 = gcDoor1.GetParams(); gcDoor2 = m_Params._gcCollider_L.gameObject.GetComponent <DoorwayTrigger>(); GAssert.Assert(null != gcDoor1, "Door trigger set without component?!"); gcDets2 = gcDoor2.GetParams(); ret._vPos1 = m_Params._gcCollider_L.transform.position + new Vector3(gcDets1._fSpawnOffset, 0f, 0f); ret._vPos2 = m_Params._gcCollider_R.transform.position + new Vector3(gcDets2._fSpawnOffset, 0f, 0f); ret._goRoom1 = gcDets1._goRoom; ret._goRoom2 = gcDets2._goRoom; } else { gcDoor1 = m_Params._gcCollider_U.gameObject.GetComponent <DoorwayTrigger>(); GAssert.Assert(null != gcDoor1, "Door trigger set without component?!"); gcDets1 = gcDoor1.GetParams(); gcDoor2 = m_Params._gcCollider_D.gameObject.GetComponent <DoorwayTrigger>(); GAssert.Assert(null != gcDoor1, "Door trigger set without component?!"); gcDets2 = gcDoor2.GetParams(); ret._vPos1 = m_Params._gcCollider_U.transform.position + new Vector3(0f, gcDets1._fSpawnOffset, 0f); ret._vPos2 = m_Params._gcCollider_D.transform.position + new Vector3(0f, gcDets2._fSpawnOffset, 0f); ret._goRoom1 = gcDets1._goRoom; ret._goRoom2 = gcDets2._goRoom; } return(ret); }