static public DGModuleDefinition find(DGModuleDefinition search) { //LOAD if (!loaded) { load(); } //FIND List <DGModuleDefinition> modulesFound = new List <DGModuleDefinition>(); for (int i = 0; i < modules.Length; i++) { DGModuleDefinition moduleDef = new DGModuleDefinition(); moduleDef.index = i; moduleDef.type = search.type; moduleDef.difficulty = search.difficulty; moduleDef.accessBottom = modules[i].accessBottom; moduleDef.accessLeft = modules[i].accessLeft; moduleDef.accessRight = modules[i].accessRight; moduleDef.accessTop = modules[i].accessTop; moduleDef.rotation = 0; for (int r = 0; r < 4; r++) { if (moduleDef.accessLeft == search.accessLeft && moduleDef.accessTop == search.accessTop && moduleDef.accessRight == search.accessRight && moduleDef.accessBottom == search.accessBottom ) { modulesFound.Add(moduleDef); break; } else { moduleDef.rotate(); } } } //NOT FOUND if (modulesFound.Count < 1) { return(new DGModuleDefinition()); } //SORT ONE return(modulesFound[Random.Range(0, modulesFound.Count)]); }
static private void createArrays() { Debug.LogWarning("Creating Arrays ..."); if (errorStatus) { return; } //LEVEL ARRAY levelArray = new DGModuleDefinition[cols.value, rows.value]; for (int y = 0; y < rows.value; y++) { for (int x = 0; x < cols.value; x++) { levelArray[x, y] = new DGModuleDefinition(); } } //LISTS accessesList.Clear(); pointsList.Clear(); //debugLevelModules(); }