void ActivateStairDoors(MidlleRoomDataCmp roomDataCmp) { roomDataCmp.StairDoor.SetActive(true); roomDataCmp.StairDoorClone.SetActive(true); roomDataCmp.StairDoorClone.transform.position = roomDataCmp.StairDoor.transform.position - new Vector3(56, 0, 0); //Debug.Log("StairDoor pos = " + roomDataCmp.StairDoor.transform.position + " clone pos = " + (roomDataCmp.StairDoor.transform.position + new Vector3(56, 0, 0))); }
void LastTriggerEnter(int ent) { MidlleRoomDataCmp dataCmp = Storage.GetComponent <MidlleRoomDataCmp>(MidlleRoomDataGroup.GetEntitiesArray()[0]); int button = dataCmp.last_active_button; int number = Storage.GetComponent <MidlleRoomButtonCmp>(button).number; //Debug.Log("в итоге игрок вошел в комнату №" + number); if (dataCmp.alreadyEnter.Contains(number)) { ReEnter(); } else { dataCmp.alreadyEnter.Add(number); if (dataCmp.current_composition_level >= 3) { ActivateStairDoors(dataCmp); Debug.Log("Activate Doors"); } dataCmp.current_composition_level++; } }
void LastRoomTriggerEnter(int ent) { if (Storage.GetComponent <PlayerCmp>(ent) != null) { MidlleRoomDataCmp midlleRoomData = Storage.GetComponent <MidlleRoomDataCmp>(MidlleRoomDataGroup.GetEntitiesArray()[0]); if (midlleRoomData.last_active_button != 0) { Material Red = Storage.GetComponent <ButtonMaterialCmp>(midlleRoomData.last_active_button).Red; Storage.GetComponent <ButtonCmp>(midlleRoomData.last_active_button).meshRenderer.material = Red; Storage.GetComponent <MidlleRoomButtonCmp>(midlleRoomData.last_active_button).CloneButton.material = Red; } } }
void ActivateComposition(int ent) { int button_number = Storage.GetComponent <MidlleRoomButtonCmp>(ent).number; MidlleRoomDataCmp roomDataCmp = Storage.GetComponent <MidlleRoomDataCmp>(MidlleRoomDataGroup.GetEntitiesArray()[0]); int composition_level = roomDataCmp.current_composition_level; if (roomDataCmp.alreadyEnter.Contains(button_number)) { composition_level--; } LastRoomCompositionCmp compositionCmp = Storage.GetComponent <LastRoomCompositionCmp>(CompositionGroup.GetEntitiesArray()[0]); if (composition_level >= 1) { for (int i = 0; i < compositionCmp.FirstLevel.Count; i++) { compositionCmp.FirstLevel[i].SetActive(true); } } if (composition_level >= 2) { for (int i = 0; i < compositionCmp.SecondLevel.Count; i++) { compositionCmp.SecondLevel[i].SetActive(true); } } if (composition_level >= 3) { for (int i = 0; i < compositionCmp.ThirdLevel.Count; i++) { compositionCmp.ThirdLevel[i].SetActive(true); } } }