public TerrainVertData GetVertDataFromRegionTile(Coord tile, int isleId) { /*Vector2 hPos = tile.ToVector2 () * tileSize; * float minDist = float.MaxValue; * Vector2 resultKey = new Vector2 (); * * foreach (var vertPair in verticesDictionary) { * Vector2 vertex = (vertPair.Value.coordinate - vertPair.Value.localOrigin).ToVec2FromXZ (); * float distance = Vector2.Distance (hPos, vertex); * * if (distance < minDist) { * minDist = distance; * resultKey = vertPair.Key; * * if (minDist < 0.1f) { * return vertPair.Value; * } * } * } * * return verticesDictionary[resultKey];*/ UniqueCoord keyCoord = new UniqueCoord(tile, isleId); TerrainVertData result; if (coordDictionary.TryGetValue(keyCoord, out result)) { return(result); } else { return(null); } }
public void SetCoordDB() { coordDictionary.Clear(); foreach (var vertPair in verticesDictionary) { UniqueCoord keyCoord = new UniqueCoord(vertPair.Value.tileCoord, vertPair.Value.isleId); if (!coordDictionary.ContainsKey(keyCoord)) { coordDictionary.Add(keyCoord, vertPair.Value); } } }
public bool Equals(UniqueCoord other) { return((value == other.value) && (id == other.id)); }