Exemplo n.º 1
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (MapName.Length != 0)
            {
                hash ^= MapName.GetHashCode();
            }
            if (GridId != 0)
            {
                hash ^= GridId.GetHashCode();
            }
            if (TerrainId != 0)
            {
                hash ^= TerrainId.GetHashCode();
            }
            if (BuildId != 0)
            {
                hash ^= BuildId.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Exemplo n.º 2
0
 public Terrain(TerrainId id, bool isPassable, float damageMultiplier = 1.0f, float defenceMultiplier = 1.0f)
 {
     Id = id;
     DamageMultiplier  = damageMultiplier;
     DefenceMultiplier = defenceMultiplier;
     IsPassable        = isPassable;
 }
Exemplo n.º 3
0
 public MapContainer GenerateMap(int width, int height, TerrainId defaultFill)
 {
     _map = new MapContainer();
     _map.Generate(width, height);
     FillTerrain(defaultFill);
     return(_map);
 }
Exemplo n.º 4
0
 public void FillTerrain(TerrainId fill)
 {
     for (int x = 0; x < _map.Width; x++)
     {
         for (int y = 0; y < _map.Height; y++)
         {
             SetTerrain(x, y, fill);
         }
     }
 }
        public virtual void Generate(MapContainer map, TerrainId terrain)
        {
            _map     = map;
            _terrain = terrain;
            _buffer  = new TileBuffer(_map);

            int targetMass  = CalculateTargetTerrainMass();
            int currentMass = GenerateSeeds();

            while (currentMass < targetMass)
            {
                ModifyTerrain(_buffer.GetRandom);
                currentMass++;
            }
        }
Exemplo n.º 6
0
 /// <summary>
 ///     地形名を取得する
 /// </summary>
 /// <param name="terrain">地形</param>
 /// <returns>地形名</returns>
 public static string GetTerrainName(TerrainId terrain)
 {
     return Config.GetText(TerrainNames[(int) terrain]);
 }
Exemplo n.º 7
0
 public void SetTerrain(int x, int y, TerrainId terrain) => _map.Tiles[x, y].SetTerrain(_terrainFactory.Create(terrain));
Exemplo n.º 8
0
        public Color GetTerrainOwnershipColor(int clan) => _terrainOwnerships[(int)(clan)]; //old

        public Color GetTerrainColor(TerrainId id) => _terrains[(int)(id)];
 private void InitializeTerrain(TerrainId id, bool isPassable, float dmgMultiplier = 1.0f, float defMultiplier = 1.0f)
 {
     _terrains[(int)id] = new Terrain(id, isPassable, dmgMultiplier, defMultiplier);
 }
 public Terrain Create(TerrainId id) => _terrains[(int)id];
Exemplo n.º 11
0
 public override int GetHashCode()
 {
     return(Index.GetHashCode() ^ TerrainId.GetHashCode() ^ Texture.GetHashCode() ^ SeenState.GetHashCode() ^ ControlledByFaction.GetHashCode());
 }