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); }
public Terrain(TerrainId id, bool isPassable, float damageMultiplier = 1.0f, float defenceMultiplier = 1.0f) { Id = id; DamageMultiplier = damageMultiplier; DefenceMultiplier = defenceMultiplier; IsPassable = isPassable; }
public MapContainer GenerateMap(int width, int height, TerrainId defaultFill) { _map = new MapContainer(); _map.Generate(width, height); FillTerrain(defaultFill); return(_map); }
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++; } }
/// <summary> /// 地形名を取得する /// </summary> /// <param name="terrain">地形</param> /// <returns>地形名</returns> public static string GetTerrainName(TerrainId terrain) { return Config.GetText(TerrainNames[(int) terrain]); }
public void SetTerrain(int x, int y, TerrainId terrain) => _map.Tiles[x, y].SetTerrain(_terrainFactory.Create(terrain));
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];
public override int GetHashCode() { return(Index.GetHashCode() ^ TerrainId.GetHashCode() ^ Texture.GetHashCode() ^ SeenState.GetHashCode() ^ ControlledByFaction.GetHashCode()); }