Beispiel #1
0
    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);
        }
    }
Beispiel #2
0
 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);
         }
     }
 }
Beispiel #3
0
 public bool Equals(UniqueCoord other)
 {
     return((value == other.value) && (id == other.id));
 }