private void Start() { controller = transform.parent.GetComponent <PatternPuzzleController>(); if (controller == null) { controller = transform.parent.parent.GetComponent <PatternPuzzleController>(); } m_Debug = controller.m_Debug; m_DelayTime = 0.2f; tmp_m_DelayTime = -1; }
public void Reset() { Dictionary <Vector3, GameObject> newLevelObjectPositions = new Dictionary <Vector3, GameObject>(); Debug.Log("Reset box position"); foreach (KeyValuePair <Vector3, GameObject> objPositionPair in m_LevelObjectPositions) { /* * if (objPositionPair.Key.transform.parent != null) * { * objPositionPair.Key.transform.parent = null; * } * PrefabUtility.RevertObjectOverride(objPositionPair.Key, InteractionMode.AutomatedAction); * objPositionPair.Key.transform.position = objPositionPair.Value; */ Debug.Log("destroy box"); Destroy(objPositionPair.Value); GameObject newBox = Instantiate(boxPrefab); newBox.SetActive(false); //newBox.transform.position = objPositionPair.Key + new Vector3(0,0.1f,0); StartCoroutine(WaitAndSetPosition(newBox, objPositionPair.Key)); // Store new position of the box newLevelObjectPositions[objPositionPair.Key] = newBox; } // Replace the old dictionary m_LevelObjectPositions = newLevelObjectPositions; Debug.Log("Reset button"); foreach (ButtonSwitch button in m_Buttons) { button.ResetButton(); } foreach (GameObject patternPuzzle in m_LevelPuzzles) { PatternPuzzleController controller = patternPuzzle.GetComponent <PatternPuzzleController>(); if (controller) { controller.Reset(); } } }