public void SpawnImage(int num) { gameObject1 = Instantiate(tiles[num], rt.transform); gameObject1.transform.SetParent(rt.transform); saveAndLoad.Load(); listTiles = gameObject1.GetComponent <ListTiles>(); }
public void Load() { path = Path.Combine(Application.persistentDataPath, spawn.gameObject1.name.ToString() + ".json"); listTiles = spawn.gameObject1.GetComponent <ListTiles>(); sv.coloring = new Color[listTiles.listTiles.Count]; sv.isOpened = new bool[listTiles.listTiles.Count]; if (File.Exists(path)) { sv = JsonUtility.FromJson <Save>(File.ReadAllText(path)); for (int i = 0; i < listTiles.listTiles.Count; i++) { listTiles.listTiles[i].GetComponent <Button>().interactable = sv.isOpened[i]; listTiles.listTiles[i].GetComponent <SVGImage>().color = sv.coloring[i]; } listTiles.paints = sv.paints; } }
/// <summary> /// performs exactly one iteration of the algorithm /// </summary> public override void DoOneRun() { if (Finished) { throw new GSTException("algorithm is finished"); } var watch = Stopwatch.StartNew(); var listMatches = new List <Tile <T> >(); LastMaximumMatch = MinimumMatchLength; // for every token in A that is unmarked foreach (var tA in ListA.Where(t => !t.Marked)) { var tokA = tA; // CLOSURE int indA = ListA.IndexOf(tokA); // for every token in B that is unmarked and matches tokA foreach (var tB in ListB.Where(t => !t.Marked).Where(tokA.EqualsTokenValue)) { //counter++; var tokB = tB; // CLOSURE int indB = ListB.IndexOf(tokB); int matchLength = CalculateMatchLength(indA, indB); if (matchLength >= LastMaximumMatch) { var tile = AbstractGSTAlgorithm.CreateTile(ListA, indA, indB, matchLength); AddTileToMatchList(listMatches, matchLength, tile); } } // foreach in B } // foreach in A foreach (var tile in listMatches) { MarkTileAsMatched(tile); ListTiles.Add(tile); } TilesMatchedInLastRun = listMatches; //Console.WriteLine("one run({1}) took {0} ms", watch.ElapsedMilliseconds, counter); }
public override void DoOneRun() { if (Finished) { throw new GSTException("algorithm is finished"); } // can not do in constructor, because client code may change MML after constructor if (!initialized) { InitializeHashes(); /* * for (int i = 0; i < ListA.Count; i++) * { * cLogger.DebugFormat("A: {0}, B:{1}", ListA[i].GetHashCode(), ListB[i].GetHashCode()); * } * /* */ } MatchesList = new List <Tile <T> >(); LastMaximumMatch = MinimumMatchLength; // because of the minimization performed previously // every element in A is also present in B! foreach (KeyValuePair <Int32, IList <HashingEntity> > kvpA in HashesA) { CompareLists(kvpA.Value, HashesB[kvpA.Key]); } foreach (var tile in MatchesList) { MarkTileAsMatched(tile); ListTiles.Add(tile); } TilesMatchedInLastRun = MatchesList; }
private void Start() { listTiles = spawn.gameObject1.GetComponent <ListTiles>(); DisplayMoney(); }