# Puzzle_D() Version from 8 Nov 2025 ```cs using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine.UI; using UnityEngine; using System.Linq; public class Puzzle_D : MonoBehaviour { // UI public TMP_InputField nameInputField; public string nextSceneName; public GameObject d_Atlas; // the plankton on the scene public JsonObj_Atlas atlasJsonScript; // To deactivate buttons during the victory animation, // and to assign OnButtonClicked method public List<Button> colorantButtonsList; private bool[] buttonPairFlags = new bool[7]; // to check if all pairs were clicked // JUST FOR Atlas D // Specifically for this atlas to de/activate pointers for patterns public List<GameObject> pointersList; // A list of bools for each button in the atlas. // To check if colours match the correct palette private bool[] buttonFlagsList = new bool[14]; public PD_TemperatureContr termometerScript; private Victory victoryScript; // To access atlasCorrect bool (the victory condition) private void Start() { victoryScript = gameObject.GetComponent<Victory>(); // to get access to atlasCorrect bool in CheckVictory(); victoryScript.atlasCorrect = false; // restarts the win-condition } void Update() { CheckOrgansColour(); CheckVictory(); } private void CheckVictory() { if (buttonPairFlags.All(flag => flag)) // All coloured? { int warmArea = termometerScript.warmArea; int coolArea = termometerScript.coolArea; if (warmArea > coolArea) { victoryScript.atlasCorrect = true; foreach (Button item in colorantButtonsList) item.interactable = false; } } } public void OnButtonClicked(int index) { // To check if the atlas is fully coloured int pairIndex = index / 2; buttonPairFlags[pairIndex] = true; // To calculated the index of the button that was just pressed int pairedIndex = (index % 2 == 0) ? index + 1 : index - 1; // Switch the activity of buttons in the pair colorantButtonsList[index].interactable = false; colorantButtonsList[pairedIndex].interactable = true; switch (index) { case 0: buttonFlagsList[0] = true; // Sends to the CheckPalettes that button 0 is true; buttonFlagsList[1] = false; // Sends to the CheckPalettes that button 1 is false; //Sends data to Json // Care (0) atlasJsonScript.colourCodes[0] = 0; // Body_1 atlasJsonScript.colourCodes[13] = 0; // Pattern 1_III atlasJsonScript.colourCodes[15] = 0; // Pattern 1_IV atlasJsonScript.colourCodes[17] = 0; // Pattern 1_V atlasJsonScript.colourCodes[24] = 0; // Caviar_1 break; case 1: buttonFlagsList[0] = false; buttonFlagsList[1] = true; // Boredom (4) atlasJsonScript.colourCodes[0] = 4; // Body_1 atlasJsonScript.colourCodes[13] = 4; // Pattern 1_III atlasJsonScript.colourCodes[15] = 4; // Pattern 1_IV atlasJsonScript.colourCodes[17] = 4; // Pattern 1_V atlasJsonScript.colourCodes[24] = 4; // Caviar_1 break; case 2: buttonFlagsList[2] = true; buttonFlagsList[3] = false; // Dwelling (3) atlasJsonScript.colourCodes[1] = 4; // Body_2 atlasJsonScript.colourCodes[7] = 4; // Pattern 2_I atlasJsonScript.colourCodes[9] = 4; // Pattern 2_II atlasJsonScript.colourCodes[11] = 4; // Pattern 2_III atlasJsonScript.colourCodes[25] = 4; // Caviar_2 break; case 3: buttonFlagsList[2] = false; buttonFlagsList[3] = true; // Uncanny (5) atlasJsonScript.colourCodes[1] = 5; // Body_2 atlasJsonScript.colourCodes[7] = 5; // Pattern 2_I atlasJsonScript.colourCodes[9] = 5; // Pattern 2_II atlasJsonScript.colourCodes[11] = 5; // Pattern 2_III atlasJsonScript.colourCodes[25] = 5; // Caviar_2 break; case 4: buttonFlagsList[4] = true; buttonFlagsList[5] = false; // Harmony (1) atlasJsonScript.colourCodes[2] = 1; // Body_3 atlasJsonScript.colourCodes[8] = 1; // Pattern 3_I atlasJsonScript.colourCodes[10] = 1; // Pattern 3_II atlasJsonScript.colourCodes[12] = 1; // Pattern 3_III atlasJsonScript.colourCodes[26] = 1; // Caviar_3 break; case 5: buttonFlagsList[4] = false; buttonFlagsList[5] = true; // Care (0) atlasJsonScript.colourCodes[2] = 0; // Body_3 atlasJsonScript.colourCodes[8] = 0; // Pattern 3_I atlasJsonScript.colourCodes[10] = 0; // Pattern 3_II atlasJsonScript.colourCodes[12] = 0; // Pattern 3_III atlasJsonScript.colourCodes[26] = 0; // Caviar_3 break; case 6: buttonFlagsList[6] = true; buttonFlagsList[7] = false; // Finitude (6) atlasJsonScript.colourCodes[3] = 6; // Body_4 atlasJsonScript.colourCodes[14] = 6; // Pattern 4_III atlasJsonScript.colourCodes[16] = 6; // Pattern 4_IV atlasJsonScript.colourCodes[18] = 6; // Pattern 4_V atlasJsonScript.colourCodes[27] = 6; // Caviar_4 break; case 7: buttonFlagsList[6] = false; buttonFlagsList[7] = true; // Everydayness (9) atlasJsonScript.colourCodes[3] = 9; // Body_4 atlasJsonScript.colourCodes[14] = 9; // Pattern 4_III atlasJsonScript.colourCodes[16] = 9; // Pattern 4_IV atlasJsonScript.colourCodes[18] = 9; // Pattern 4_V atlasJsonScript.colourCodes[27] = 9; // Caviar_4 break; case 8: buttonFlagsList[8] = true; buttonFlagsList[9] = false; // Everydayness (4) atlasJsonScript.colourCodes[4] = 4; // Body_5 atlasJsonScript.colourCodes[19] = 4; // Pattern 5_V atlasJsonScript.colourCodes[20] = 4; // Pattern 5_VI atlasJsonScript.colourCodes[21] = 4; // Pattern 5_VII atlasJsonScript.colourCodes[22] = 4; // Pattern 5_VIII atlasJsonScript.colourCodes[28] = 4; // Caviar_5 break; case 9: buttonFlagsList[8] = false; buttonFlagsList[9] = true; // Questioning (8) atlasJsonScript.colourCodes[4] = 8; // Body_5 atlasJsonScript.colourCodes[19] = 8; // Pattern 5_V atlasJsonScript.colourCodes[20] = 8; // Pattern 5_VI atlasJsonScript.colourCodes[21] = 8; // Pattern 5_VII atlasJsonScript.colourCodes[22] = 8; // Pattern 5_VIII atlasJsonScript.colourCodes[27] = 8; // Caviar_5 break; case 10: buttonFlagsList[10] = true; buttonFlagsList[11] = false; // Uncanny (5) atlasJsonScript.colourCodes[5] = 5; // Body_6 atlasJsonScript.colourCodes[28] = 5; // Caviar_6 break; case 11: buttonFlagsList[10] = false; buttonFlagsList[11] = true; // Togetherness (2) atlasJsonScript.colourCodes[5] = 2; // Body_6 atlasJsonScript.colourCodes[28] = 2; // Caviar_6 break; case 12: buttonFlagsList[12] = true; buttonFlagsList[13] = false; // Presence (7) atlasJsonScript.colourCodes[6] = 7; // Body_7 atlasJsonScript.colourCodes[29] = 7; // Caviar_7 break; case 13: buttonFlagsList[12] = false; buttonFlagsList[13] = true; // Finitude (6) atlasJsonScript.colourCodes[6] = 6; // Body_7 atlasJsonScript.colourCodes[29] = 6; // Caviar_7 break; } } // PATTERN'S COLOUR LOGIC // NB! // Button's indicators =/= Colorants' indicators =/= Json slices indicators =/= Pointers' list indicators =/= Organs' numbers // But Colorant's indicators == Json ColorCodes == OnBtnColor indexes void CheckOrgansColour() { // ORGAN 3 (under I, II, III body slices) // 3 at I.1 (Harmony + Finitude = Presence (7)) if (buttonFlagsList[4] && buttonFlagsList[6]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_I"); organSlice.GetComponent<ColorantManager>().OnBtnColor7(); pointersList[0].SetActive(true); pointersList[0].GetComponentInChildren<ColorantManager>().OnBtnColor7(); atlasJsonScript.colourCodes[8] = 7; // Pattern 3_I } // 3 at I.1 (Harmony + Everydayness = Dwelling (3)) if (buttonFlagsList[4] && buttonFlagsList[7]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_I"); organSlice.GetComponent<ColorantManager>().OnBtnColor3(); pointersList[0].SetActive(true); pointersList[0].GetComponentInChildren<ColorantManager>().OnBtnColor3(); atlasJsonScript.colourCodes[8] = 3; } // 3 at I.2 (Care + Finitude = Finitude (6)) if (buttonFlagsList[5] && buttonFlagsList[6]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_I"); organSlice.GetComponent<ColorantManager>().OnBtnColor6(); pointersList[0].SetActive(true); pointersList[0].GetComponentInChildren<ColorantManager>().OnBtnColor6(); atlasJsonScript.colourCodes[8] = 6; } // 3 at I.2 (Care + Everydayness = Care (0)) if (buttonFlagsList[5] && buttonFlagsList[7]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_I"); organSlice.GetComponent<ColorantManager>().OnBtnColor0(); pointersList[0].SetActive(true); pointersList[0].GetComponentInChildren<ColorantManager>().OnBtnColor0(); atlasJsonScript.colourCodes[8] = 0; } // 3 at II.1 (Harmony + Boredom = Presence (7)) // 5 at V.1 if (buttonFlagsList[4] && buttonFlagsList[8]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_II"); organSlice.GetComponent<ColorantManager>().OnBtnColor7(); GameObject organSlice2 = GameObject.Find("Plankton/Patterns/Organ_5_V"); organSlice2.GetComponent<ColorantManager>().OnBtnColor7(); pointersList[12].SetActive(true); pointersList[12].GetComponentInChildren<ColorantManager>().OnBtnColor7(); pointersList[2].SetActive(true); pointersList[2].GetComponentInChildren<ColorantManager>().OnBtnColor7(); atlasJsonScript.colourCodes[10] = 7; // Pattern 3_II atlasJsonScript.colourCodes[19] = 7; // Pattern 5_V } // 3 at II.1 (Harmony + Questioning = Finitude (6)) // 5 at V.2 if (buttonFlagsList[4] && buttonFlagsList[9]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_II"); organSlice.GetComponent<ColorantManager>().OnBtnColor6(); GameObject organSlice2 = GameObject.Find("Plankton/Patterns/Organ_5_V"); organSlice2.GetComponent<ColorantManager>().OnBtnColor6(); pointersList[12].SetActive(true); pointersList[12].GetComponentInChildren<ColorantManager>().OnBtnColor6(); pointersList[2].SetActive(true); pointersList[2].GetComponentInChildren<ColorantManager>().OnBtnColor6(); atlasJsonScript.colourCodes[10] = 6; atlasJsonScript.colourCodes[19] = 6; // Pattern 5_V } // 3 at II.2 (Care + Boredom = Dwelling (3)) // 5 at V.1 if (buttonFlagsList[5] && buttonFlagsList[8]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_II"); organSlice.GetComponent<ColorantManager>().OnBtnColor3(); GameObject organSlice2 = GameObject.Find("Plankton/Patterns/Organ_5_V"); organSlice2.GetComponent<ColorantManager>().OnBtnColor3(); pointersList[12].SetActive(true); pointersList[12].GetComponentInChildren<ColorantManager>().OnBtnColor3(); pointersList[2].SetActive(true); pointersList[2].GetComponentInChildren<ColorantManager>().OnBtnColor3(); atlasJsonScript.colourCodes[10] = 3; atlasJsonScript.colourCodes[19] = 3; // Pattern 5_V } // 3 at II.2 (Care + Questioning = Questioning (9)) // 5 at V.2 if (buttonFlagsList[5] && buttonFlagsList[9]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_II"); organSlice.GetComponent<ColorantManager>().OnBtnColor9(); GameObject organSlice2 = GameObject.Find("Plankton/Patterns/Organ_5_V"); organSlice2.GetComponent<ColorantManager>().OnBtnColor9(); pointersList[12].SetActive(true); pointersList[12].GetComponentInChildren<ColorantManager>().OnBtnColor9(); pointersList[2].SetActive(true); pointersList[2].GetComponentInChildren<ColorantManager>().OnBtnColor9(); atlasJsonScript.colourCodes[10] = 9; atlasJsonScript.colourCodes[19] = 9; // Pattern 5_V } // 3 at III.1 (Harmony + Presence = Questioning (8)) if (buttonFlagsList[4] && buttonFlagsList[12]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor8(); pointersList[4].SetActive(true); pointersList[4].GetComponentInChildren<ColorantManager>().OnBtnColor8(); atlasJsonScript.colourCodes[12] = 8; } // 3 at III.1 (Harmony + Finitude = Presence (7)) if (buttonFlagsList[4] && buttonFlagsList[13]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor7(); pointersList[4].SetActive(true); pointersList[4].GetComponentInChildren<ColorantManager>().OnBtnColor7(); atlasJsonScript.colourCodes[12] = 7; } // 3 at III.2 (Care + Presence = Harmony (1)) if (buttonFlagsList[5] && buttonFlagsList[12]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor1(); pointersList[4].SetActive(true); pointersList[4].GetComponentInChildren<ColorantManager>().OnBtnColor1(); atlasJsonScript.colourCodes[12] = 1; } // 3 at III.2 (Care + Finitude = Finitude (6)) if (buttonFlagsList[5] && buttonFlagsList[13]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_3_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor6(); pointersList[4].SetActive(true); pointersList[4].GetComponentInChildren<ColorantManager>().OnBtnColor6(); atlasJsonScript.colourCodes[12] = 6; } // ORGAN 2 (under I, II, III body slices) // 2 at I.1 (Dwelling + Finitude = Uncanny (5)) // 4 at IV.1 (-,,-) if (buttonFlagsList[2] && buttonFlagsList[6]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_I"); organSlice.GetComponent<ColorantManager>().OnBtnColor5(); GameObject organSlice2 = GameObject.Find("Plankton/Patterns/Organ_4_IV"); organSlice2.GetComponent<ColorantManager>().OnBtnColor5(); pointersList[1].SetActive(true); pointersList[1].GetComponentInChildren<ColorantManager>().OnBtnColor5(); pointersList[9].SetActive(true); pointersList[9].GetComponentInChildren<ColorantManager>().OnBtnColor5(); atlasJsonScript.colourCodes[16] = 5; // Pattern 4_IV atlasJsonScript.colourCodes[7] = 5; // Pattern 2_I } // 2 at I.1 (Dwelling + Everydayness = Care(0)) // 4 at IV.2 if (buttonFlagsList[2] && buttonFlagsList[7]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_I"); organSlice.GetComponent<ColorantManager>().OnBtnColor0(); GameObject organSlice2 = GameObject.Find("Plankton/Patterns/Organ_4_IV"); organSlice2.GetComponent<ColorantManager>().OnBtnColor0(); pointersList[1].SetActive(true); pointersList[1].GetComponentInChildren<ColorantManager>().OnBtnColor0(); pointersList[9].SetActive(true); pointersList[9].GetComponentInChildren<ColorantManager>().OnBtnColor0(); atlasJsonScript.colourCodes[16] = 0; // Pattern 4_IV atlasJsonScript.colourCodes[7] = 0; } // 2 at I.2 (Uncanny + Finitude = Boredom (4)) // 4 at IV.2 if (buttonFlagsList[3] && buttonFlagsList[6]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_I"); organSlice.GetComponent<ColorantManager>().OnBtnColor4(); GameObject organSlice2 = GameObject.Find("Plankton/Patterns/Organ_4_IV"); organSlice2.GetComponent<ColorantManager>().OnBtnColor4(); pointersList[1].SetActive(true); pointersList[1].GetComponentInChildren<ColorantManager>().OnBtnColor4(); pointersList[9].SetActive(true); pointersList[9].GetComponentInChildren<ColorantManager>().OnBtnColor4(); atlasJsonScript.colourCodes[16] = 4; // Pattern 4_IV atlasJsonScript.colourCodes[7] = 4; } // 2 at I.2 (Uncanny + Everydayness = Qustng (8)) // 4 at IV.1 (-,,-) if (buttonFlagsList[3] && buttonFlagsList[7]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_I"); organSlice.GetComponent<ColorantManager>().OnBtnColor8(); GameObject organSlice2 = GameObject.Find("Plankton/Patterns/Organ_4_IV"); organSlice2.GetComponent<ColorantManager>().OnBtnColor8(); pointersList[1].SetActive(true); pointersList[1].GetComponentInChildren<ColorantManager>().OnBtnColor8(); pointersList[9].SetActive(true); pointersList[9].GetComponentInChildren<ColorantManager>().OnBtnColor8(); atlasJsonScript.colourCodes[16] = 8; // Pattern 4_IV atlasJsonScript.colourCodes[7] = 8; } // 2 at II.1 (Dwelling + Boredom = Presence (7)) if (buttonFlagsList[2] && buttonFlagsList[8]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_II"); organSlice.GetComponent<ColorantManager>().OnBtnColor7(); pointersList[3].SetActive(true); pointersList[3].GetComponentInChildren<ColorantManager>().OnBtnColor7(); atlasJsonScript.colourCodes[9] = 7; // Pattern 2_II } // 2 at II.1 (Dwelling + Qstnng = Harmony (1)) if (buttonFlagsList[2] && buttonFlagsList[9]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_II"); organSlice.GetComponent<ColorantManager>().OnBtnColor1(); pointersList[3].SetActive(true); pointersList[3].GetComponentInChildren<ColorantManager>().OnBtnColor1(); atlasJsonScript.colourCodes[9] = 1; // Pattern 2_II } // 2 at II.2 (Uncanny + Boredom = Uncanny (5)) if (buttonFlagsList[3] && buttonFlagsList[8]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_II"); organSlice.GetComponent<ColorantManager>().OnBtnColor5(); pointersList[3].SetActive(true); pointersList[3].GetComponentInChildren<ColorantManager>().OnBtnColor5(); atlasJsonScript.colourCodes[9] = 5; // Pattern 2_II } // 2 at II.2 (Uncanny + Questioning = Questioning (8)) if (buttonFlagsList[3] && buttonFlagsList[9]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_II"); organSlice.GetComponent<ColorantManager>().OnBtnColor8(); pointersList[3].SetActive(true); pointersList[3].GetComponentInChildren<ColorantManager>().OnBtnColor8(); atlasJsonScript.colourCodes[9] = 8; // Pattern 2_II } // 2 at III.1 (Dwelling + Presence = Presence (7)) if (buttonFlagsList[2] && buttonFlagsList[12]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor7(); pointersList[5].SetActive(true); pointersList[5].GetComponentInChildren<ColorantManager>().OnBtnColor7(); atlasJsonScript.colourCodes[11] = 7; // Pattern 2_III } // 2 at III.1 (Dwelling + Finitude = Uncanny (5)) if (buttonFlagsList[2] && buttonFlagsList[13]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor5(); pointersList[5].SetActive(true); pointersList[5].GetComponentInChildren<ColorantManager>().OnBtnColor5(); atlasJsonScript.colourCodes[11] = 5; // Pattern 2_III } // 2 at III.2 (Uncanny + Presence = Care (0)) if (buttonFlagsList[3] && buttonFlagsList[12]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor0(); pointersList[5].SetActive(true); pointersList[5].GetComponentInChildren<ColorantManager>().OnBtnColor0(); atlasJsonScript.colourCodes[11] = 0; // Pattern 2_III } // 2 at III.2 (Uncanny + Finitude = Boredom (4)) if (buttonFlagsList[3] && buttonFlagsList[13]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_2_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor4(); pointersList[5].SetActive(true); pointersList[5].GetComponentInChildren<ColorantManager>().OnBtnColor4(); atlasJsonScript.colourCodes[11] = 4; // Pattern 2_III } // ORGAN 1 (under III, IV, V body slices) // 1 at III.1 (Care + Presence = Harmony (1)) if (buttonFlagsList[0] && buttonFlagsList[12]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor1(); // Changes the colour of a pattern pointersList[6].SetActive(true); // Activate pointer by index in the list of pointers pointersList[6].GetComponentInChildren<ColorantManager>().OnBtnColor1(); atlasJsonScript.colourCodes[13] = 1; // Pattern 1_III } // 1 at III.1 (Care + Finitude = Finitude (6)) if (buttonFlagsList[0] && buttonFlagsList[13]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor6(); // Changes the colour of a pattern pointersList[6].SetActive(true); // Activate pointer by index in the list of pointers pointersList[6].GetComponentInChildren<ColorantManager>().OnBtnColor6(); atlasJsonScript.colourCodes[13] = 6; // Pattern 1_III } // 1 at III.2 (Boredom + Presence = Questioning (8)) if (buttonFlagsList[1] && buttonFlagsList[12]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor8(); pointersList[6].SetActive(true); pointersList[6].GetComponentInChildren<ColorantManager>().OnBtnColor8(); atlasJsonScript.colourCodes[13] = 8; // Pattern 1_III } // 1 at III.2 (Boredom + Finitude = Dwelling (3)) if (buttonFlagsList[1] && buttonFlagsList[13]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor3(); // Changes the colour of a pattern pointersList[6].SetActive(true); // Activate pointer by index in the list of pointers pointersList[6].GetComponentInChildren<ColorantManager>().OnBtnColor3(); // Find in pointer's children "Indicator". Set it to needed colour atlasJsonScript.colourCodes[13] = 3; // Pattern 1_III } // 1 at IV.1 (Care + Dwelling = Everydayness (9)) if (buttonFlagsList[0] && buttonFlagsList[2]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_IV"); organSlice.GetComponent<ColorantManager>().OnBtnColor9(); // Changes the colour of a pattern pointersList[8].SetActive(true); // Activate pointer by index in the list of pointers pointersList[8].GetComponentInChildren<ColorantManager>().OnBtnColor9(); // Find in pointer's children "Indicator". Set it to needed colour atlasJsonScript.colourCodes[15] = 9; // Pattern 1_IV } // 1 at IV.1 (Care + Uncanny = Togetherness (2)) if (buttonFlagsList[0] && buttonFlagsList[3]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_IV"); organSlice.GetComponent<ColorantManager>().OnBtnColor2(); pointersList[8].SetActive(true); pointersList[8].GetComponentInChildren<ColorantManager>().OnBtnColor2(); atlasJsonScript.colourCodes[15] = 2; // Pattern 1_IV } // 1 at IV.2 (Boredom + Dwelling = Presence (7)) if (buttonFlagsList[1] && buttonFlagsList[2]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_IV"); organSlice.GetComponent<ColorantManager>().OnBtnColor7(); pointersList[8].SetActive(true); pointersList[8].GetComponentInChildren<ColorantManager>().OnBtnColor7(); atlasJsonScript.colourCodes[15] = 7; // Pattern 1_IV } // 1 at IV.2 (Boredom + Uncanny = Uncanny (5)) if (buttonFlagsList[1] && buttonFlagsList[3]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_IV"); organSlice.GetComponent<ColorantManager>().OnBtnColor5(); pointersList[8].SetActive(true); pointersList[8].GetComponentInChildren<ColorantManager>().OnBtnColor5(); atlasJsonScript.colourCodes[15] = 5; // Pattern 1_IV } // 1 at V.1 (Care + Harmony = Harmony (1)) if (buttonFlagsList[0] && buttonFlagsList[4]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_V"); organSlice.GetComponent<ColorantManager>().OnBtnColor1(); pointersList[10].SetActive(true); pointersList[10].GetComponentInChildren<ColorantManager>().OnBtnColor1(); atlasJsonScript.colourCodes[17] = 1; // Pattern 4_V } // 1 at V.1 (Care + Care = Togetherness (2)) if (buttonFlagsList[0] && buttonFlagsList[5]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_V"); organSlice.GetComponent<ColorantManager>().OnBtnColor2(); pointersList[10].SetActive(true); pointersList[10].GetComponentInChildren<ColorantManager>().OnBtnColor2(); atlasJsonScript.colourCodes[17] = 2; // Pattern 4_V } // 1 at V.2 (Boredom + Harmony = Presence (7)) if (buttonFlagsList[1] && buttonFlagsList[4]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_V"); organSlice.GetComponent<ColorantManager>().OnBtnColor7(); pointersList[10].SetActive(true); pointersList[10].GetComponentInChildren<ColorantManager>().OnBtnColor7(); atlasJsonScript.colourCodes[17] = 7; // Pattern 4_V } // 1 at V.2 (Boredom + Care = Dwelling (1)) if (buttonFlagsList[1] && buttonFlagsList[5]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_1_V"); organSlice.GetComponent<ColorantManager>().OnBtnColor1(); pointersList[10].SetActive(true); pointersList[10].GetComponentInChildren<ColorantManager>().OnBtnColor1(); atlasJsonScript.colourCodes[17] = 1; // Pattern 4_V } // ORGAN 4 (under III, IV, V body slices) // For 4 at IV -- See 2 at I // 4 at III.1 (Finitude + Presence = Care (0)) if (buttonFlagsList[6] && buttonFlagsList[12]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_4_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor0(); pointersList[7].SetActive(true); pointersList[7].GetComponentInChildren<ColorantManager>().OnBtnColor0(); atlasJsonScript.colourCodes[14] = 0; // Pattern 4_III } // 4 at III.1 (Finitude + Finitude = Uncanny (5)) if (buttonFlagsList[6] && buttonFlagsList[13]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_4_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor5(); pointersList[7].SetActive(true); pointersList[7].GetComponentInChildren<ColorantManager>().OnBtnColor5(); atlasJsonScript.colourCodes[14] = 5; // Pattern 4_III } // 4 at III.2 (Everydayness + Presence = Harmony (1)) if (buttonFlagsList[7] && buttonFlagsList[12]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_4_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor1(); pointersList[7].SetActive(true); pointersList[7].GetComponentInChildren<ColorantManager>().OnBtnColor1(); atlasJsonScript.colourCodes[14] = 1; // Pattern 4_III } // 4 at III.2 (Everydayness + Finitude = Boredom (4)) if (buttonFlagsList[7] && buttonFlagsList[13]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_4_III"); organSlice.GetComponent<ColorantManager>().OnBtnColor4(); pointersList[7].SetActive(true); pointersList[7].GetComponentInChildren<ColorantManager>().OnBtnColor4(); atlasJsonScript.colourCodes[14] = 4; // Pattern 4_III } // 4 at V.1 (Finitude + Harmony = Presence (7)) if (buttonFlagsList[6] && buttonFlagsList[4]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_4_V"); organSlice.GetComponent<ColorantManager>().OnBtnColor7(); pointersList[11].SetActive(true); pointersList[11].GetComponentInChildren<ColorantManager>().OnBtnColor7(); atlasJsonScript.colourCodes[18] = 7; // Pattern 4_V } // 4 at V.1 (Finitude + Care = Finitude (6)) if (buttonFlagsList[6] && buttonFlagsList[5]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_4_V"); organSlice.GetComponent<ColorantManager>().OnBtnColor6(); pointersList[11].SetActive(true); pointersList[11].GetComponentInChildren<ColorantManager>().OnBtnColor6(); atlasJsonScript.colourCodes[18] = 6; // Pattern 4_V } // 4 at V.2 (Everydayness + Harmony = Boredom (4)) if (buttonFlagsList[7] && buttonFlagsList[4]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_4_V"); organSlice.GetComponent<ColorantManager>().OnBtnColor4(); pointersList[11].SetActive(true); pointersList[11].GetComponentInChildren<ColorantManager>().OnBtnColor4(); atlasJsonScript.colourCodes[18] = 4; // Pattern 4_V } // 4 at V.2 (Everydayness + Care = Care (0)) if (buttonFlagsList[7] && buttonFlagsList[5]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_4_V"); organSlice.GetComponent<ColorantManager>().OnBtnColor0(); pointersList[11].SetActive(true); pointersList[11].GetComponentInChildren<ColorantManager>().OnBtnColor0(); atlasJsonScript.colourCodes[18] = 0; // Pattern 4_V } // Organ 5 ( V, VI, VII, VIII slices) // For 5 at V -- See 3 at II // 5 at VI // 5 at VI.1 (Boredom + Care = Dwelling (3)) if (buttonFlagsList[8] && buttonFlagsList[0]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VI"); organSlice.GetComponent<ColorantManager>().OnBtnColor3(); pointersList[13].SetActive(true); pointersList[13].GetComponentInChildren<ColorantManager>().OnBtnColor3(); atlasJsonScript.colourCodes[20] = 3; // Pattern 5_VI } // 5 at VI.1 (Boredom + Boredom = Presence (7)) if (buttonFlagsList[8] && buttonFlagsList[1]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VI"); organSlice.GetComponent<ColorantManager>().OnBtnColor7(); pointersList[13].SetActive(true); pointersList[13].GetComponentInChildren<ColorantManager>().OnBtnColor7(); atlasJsonScript.colourCodes[20] = 7; // Pattern 5_VI } // 5 at VI.2 (Questioning + Care = Questioning (8)) if (buttonFlagsList[9] && buttonFlagsList[0]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VI"); organSlice.GetComponent<ColorantManager>().OnBtnColor8(); pointersList[13].SetActive(true); pointersList[13].GetComponentInChildren<ColorantManager>().OnBtnColor8(); atlasJsonScript.colourCodes[20] = 8; // Pattern 5_VI } // 5 at VI.2 (Questioning + Boredom = Care (0)) if (buttonFlagsList[9] && buttonFlagsList[1]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VI"); organSlice.GetComponent<ColorantManager>().OnBtnColor0(); pointersList[13].SetActive(true); pointersList[13].GetComponentInChildren<ColorantManager>().OnBtnColor0(); atlasJsonScript.colourCodes[20] = 0; // Pattern 5_VI } // 5 at VII // 5 at VII.1 (Boredom + Uncanny = Uncanny (5)) if (buttonFlagsList[8] && buttonFlagsList[10]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VII"); organSlice.GetComponent<ColorantManager>().OnBtnColor5(); pointersList[14].SetActive(true); pointersList[14].GetComponentInChildren<ColorantManager>().OnBtnColor5(); atlasJsonScript.colourCodes[21] = 8; // Pattern 5_VII } // 5 at VII.1 (Boredom + Togetherness = Everydayness (9)) if (buttonFlagsList[8] && buttonFlagsList[11]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VII"); organSlice.GetComponent<ColorantManager>().OnBtnColor9(); pointersList[14].SetActive(true); pointersList[14].GetComponentInChildren<ColorantManager>().OnBtnColor9(); atlasJsonScript.colourCodes[21] = 9; // Pattern 5_VII } // 5 at VII.2 (Questioning + Uncanny = Questioning (8)) if (buttonFlagsList[9] && buttonFlagsList[10]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VII"); organSlice.GetComponent<ColorantManager>().OnBtnColor8(); pointersList[14].SetActive(true); pointersList[14].GetComponentInChildren<ColorantManager>().OnBtnColor8(); atlasJsonScript.colourCodes[21] = 8; // Pattern 5_VII } // 5 at VII.2 (Questioning + Togetherness = Boredom (4)) if (buttonFlagsList[9] && buttonFlagsList[11]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VII"); organSlice.GetComponent<ColorantManager>().OnBtnColor4(); pointersList[14].SetActive(true); pointersList[14].GetComponentInChildren<ColorantManager>().OnBtnColor4(); atlasJsonScript.colourCodes[21] = 4; // Pattern 5_VII } // 5 at VIII // 5 at VIII.1 (Boredom + Finitude = Dwelling (1)) if (buttonFlagsList[8] && buttonFlagsList[6]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VIII"); organSlice.GetComponent<ColorantManager>().OnBtnColor1(); pointersList[15].SetActive(true); pointersList[15].GetComponentInChildren<ColorantManager>().OnBtnColor1(); atlasJsonScript.colourCodes[22] = 1; // Pattern 5_VIII } // 5 at VIII.1 (Boredom + Everydayness = Togetherness (2)) if (buttonFlagsList[8] && buttonFlagsList[7]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VIII"); organSlice.GetComponent<ColorantManager>().OnBtnColor2(); pointersList[15].SetActive(true); pointersList[15].GetComponentInChildren<ColorantManager>().OnBtnColor2(); atlasJsonScript.colourCodes[22] = 2; // Pattern 5_VIII } // 5 at VIII.2 (Questioning + Finitude = Uncanny (5)) if (buttonFlagsList[9] && buttonFlagsList[6]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VIII"); organSlice.GetComponent<ColorantManager>().OnBtnColor5(); pointersList[15].SetActive(true); pointersList[15].GetComponentInChildren<ColorantManager>().OnBtnColor5(); atlasJsonScript.colourCodes[22] = 5; // Pattern 5_VIII } // 5 at VIII.2 (Questioning + Everydayness = Harmony (1)) if (buttonFlagsList[9] && buttonFlagsList[7]) { GameObject organSlice = GameObject.Find("Plankton/Patterns/Organ_5_VIII"); organSlice.GetComponent<ColorantManager>().OnBtnColor1(); pointersList[15].SetActive(true); pointersList[15].GetComponentInChildren<ColorantManager>().OnBtnColor1(); atlasJsonScript.colourCodes[22] = 1; // Pattern 5_VIII } } } ```