private void UpdateSymbols() { bool isNoColour = false; List <Shape> levelSprites; Colour bgColor = colorPicker.GetRandomColour(); if (StageManager.Instance.CurrentLevelType == LevelType.UnNameableNonColour || StageManager.Instance.CurrentLevelType == LevelType.NameableNonColour) { isNoColour = true; } if (StageManager.Instance.CurrentLevelType == LevelType.UnNameableColour || StageManager.Instance.CurrentLevelType == LevelType.UnNameableNonColour) { levelSprites = unamedShapes; } else { levelSprites = namedShapes; } for (int i = 0; i < cloneSymbols.Count; i++) { var memSymbolsScript = cloneSymbols[i].transform.gameObject.GetComponent <MemorySymbols>(); memSymbolsScript.Reset(); memSymbolsScript.Name = "MemorySymbol_" + i; memSymbolsScript.SlotNumber = i + 1; memSymbolsScript.IsCorrect = false; memSymbolsScript.IsColourSwitched = false; //int colourPickerIndex = 0; //int shapeIndex = 0; if (!isNoColour) { cloneSymbols[i].transform.Find("BackgroundColor").GetComponent <Image>().color = ColourPicker(i).Color; //colorPicker.ColourList[ colourPickerIndex ]; memSymbolsScript.ColourCode = ColourPicker(i).ColourCode; } else { cloneSymbols[i].transform.Find("BackgroundColor").GetComponent <Image>().color = bgColor.Color; //Pick a single random Colour . Used for noncoloured symbols memSymbolsScript.ColourCode = bgColor.ColourCode; } cloneSymbols[i].transform.Find("Rune").GetComponent <Image>().sprite = RandomShapePicker(i, levelSprites).Image; memSymbolsScript.ShapeCode = RandomShapePicker(i, levelSprites).ShapeCode; cloneSymbols[i].SetActive(true); //cloneSymbols[i].transform.parent = anchors[ i ].transform.parent; } }