/// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="xuid">The Xuid the character should belong to.</param>
 /// <param name="characterId">The character id.</param>
 /// <param name="autoStart">Auto start.</param>
 /// <param name="civilizationId">The civilization id the character should belong to.</param>
 public PacketBResponseCreateNewCharacter(long xuid, long characterId, byte autoStart, Civilizations civilizationId)
 {
     Xuid           = xuid;
     CharacterId    = characterId;
     AutoStart      = autoStart;
     CivilizationId = civilizationId;
 }
Пример #2
0
        /// <summary>
        /// Get random city scenario for civilization
        /// </summary>
        /// <param name="civId">The civilization Id.</param>
        /// <returns>Path to city scenario</returns>
        public static string GetRandomCityScenario(Civilizations civId)
        {
            switch (civId)
            {
            case Civilizations.Greek:

                return($"Capitals/CAPITAL_C01_0{StaticRandom.Next(1, 6)}");

            case Civilizations.Egypt:

                return($"Capitals/CAPITAL_C02_0{StaticRandom.Next(1, 6)}");


            case Civilizations.Celt:

                return($"Capitals/CAPITAL_C03_0{StaticRandom.Next(1, 6)}");

            case Civilizations.Persia:

                return($"Capitals/CAPITAL_C04_0{StaticRandom.Next(1, 3)}");

            case Civilizations.Babylonian:

                return($"Capitals/CAPITAL_C06_0{StaticRandom.Next(1, 3)}");


            case Civilizations.Norse:

                return($"Capitals/CAPITAL_C07_0{StaticRandom.Next(1, 3)}");

            default:

                throw new ArgumentOutOfRangeException($"CharacterHelper::getRandomCityScenario - Unknown CivId. CivId: {civId}");
            }
        }
Пример #3
0
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         Civilizations.Clear();
         RevealedTo = null;
     }
 }
Пример #4
0
 /// <summary>
 /// Initializes a new instance of the class.
 /// </summary>
 /// <param name="characterName">The character name.</param>
 /// <param name="unk0">Unknown.</param>
 /// <param name="characterFlags">The characters flags.</param>
 /// <param name="characterId">The character id.</param>
 /// <param name="xuid">The Xuid the character belongs to.</param>
 /// <param name="civilizationId">The civilization id the character belongs to.</param>
 public PacketBCharacterInitPacket(string characterName, string unk0, long characterFlags, long characterId, long xuid, Civilizations civilizationId)
 {
     Xuid           = xuid;
     CharacterId    = characterId;
     CharacterFlags = characterFlags;
     CivilizationId = civilizationId;
     CharacterName  = characterName;
     Unk0           = unk0;
 }
Пример #5
0
        /// <summary>
        /// Filter quest givers by current civilization id
        /// </summary>
        /// <returns>String list with excluded quest giver civilization tags</returns>
        /// <note>Quest giver civilization tags do not match generic game civilization tags</note>
        public static List <string> FilterQuestgiversbyCivilization(Civilizations civ)
        {
            List <string> Obj = new List <string>()
            {
                "C01_", "C02_", "C03_", "C04_", "C05_", "C06_", "C07_"
            };

            switch (civ)
            {
            case Civilizations.Generic:

                break;

            case Civilizations.Greek:

                Obj.Remove("C01_");

                break;

            case Civilizations.Egypt:

                Obj.Remove("C02_");

                break;

            case Civilizations.Celt:

                Obj.Remove("C03_");

                break;

            case Civilizations.Persia:

                Obj.Remove("C04_");

                break;

            case Civilizations.Babylonian:

                Obj.Remove("C06_");

                break;

            case Civilizations.Norse:

                Obj.Remove("C07_");

                break;

            default:

                throw new ArgumentOutOfRangeException($"RegionHelper::FilterQuestgiversbyCivilization - Unknown civilization. Civilization: {civ}");
            }

            return(Obj);
        }
Пример #6
0
 private void ClearCivs()
 {
     if (Civilizations != null)
     {
         Civilizations.Clear();
     }
     if (civList != null)
     {
         civList.Clear();
     }
 }
Пример #7
0
        public void FilterCivs()
        {
            var filteredCivs = new List <Civilization>();

            if (!string.IsNullOrEmpty(Search))
            {
                filteredCivs  = Civilizations.Where(u => u.name.ToLower().Contains(Search.ToLower())).ToList();;
                Civilizations = new ObservableCollection <Civilization>(filteredCivs);
            }
            else
            {
                Civilizations = civList;
            }
            OnPropertyChanged(nameof(Civilizations));
        }
Пример #8
0
        public void FillTo(Generation.World.TimelineLayer component)
        {
            component.Age = Age;

            component.WorldTiles = new Generation.World.WorldTile[WorldMapResolution, WorldMapResolution];

            for (int i = 0; i < WorldMapResolution; i++)
            {
                for (int j = 0; j < WorldMapResolution; j++)
                {
                    component.WorldTiles[i, j] = WorldTiles[i * WorldMapResolution + j];
                }
            }

            component.Civilizations = new List <Generation.World.Civilization>(Civilizations.Select(x => (Generation.World.Civilization)x));

            component.Continents = new List <Generation.World.Region>(Continents.Select(x => (Generation.World.Region)x));

            component.Islands = new List <Generation.World.Region>(Islands.Select(x => (Generation.World.Region)x));

            component.Mountains = new List <Generation.World.Region>(Mountains.Select(x => (Generation.World.Region)x));

            component.Forests = new List <Generation.World.Region>(Forests.Select(x => (Generation.World.Region)x));

            component.Deserts = new List <Generation.World.Region>(Deserts.Select(x => (Generation.World.Region)x));

            component.Swamps = new List <Generation.World.Region>(Swamps.Select(x => (Generation.World.Region)x));

            component.Chunks = Chunks;

            component.ElevationMap = new float[WorldMapResolution][];
            for (int i = 0; i < WorldMapResolution; i++)
            {
                component.ElevationMap[i] = new float[WorldMapResolution];
                for (int j = 0; j < WorldMapResolution; j++)
                {
                    component.ElevationMap[i][j] = ElevationMap[i * WorldMapResolution + j] / 255f;
                }
            }

            component.RiverMap = new bool[WorldMapResolution][];
            for (int i = 0; i < WorldMapResolution; i++)
            {
                component.RiverMap[i] = new bool[WorldMapResolution];
                for (int j = 0; j < WorldMapResolution; j++)
                {
                    component.RiverMap[i][j] = RiverMap[i * WorldMapResolution + j];
                }
            }


            component.RiverBorderMap = new bool[WorldMapResolution][];
            for (int i = 0; i < WorldMapResolution; i++)
            {
                component.RiverBorderMap[i] = new bool[WorldMapResolution];
                for (int j = 0; j < WorldMapResolution; j++)
                {
                    component.RiverBorderMap[i][j] = RiverBorderMap[i * WorldMapResolution + j];
                }
            }

            component.InlandWaterConnectivity = new TileForInlandWaterConnectivity[WorldMapResolution][];
            for (int i = 0; i < WorldMapResolution; i++)
            {
                component.InlandWaterConnectivity[i] = new TileForInlandWaterConnectivity[WorldMapResolution];
                for (int j = 0; j < WorldMapResolution; j++)
                {
                    component.InlandWaterConnectivity[i][j] = InlandWaterConnectivity[i * WorldMapResolution + j];
                }
            }



            component.BorderLines = new List <Generation.World.WaterBorderLine>();
            foreach (var borderLineStorage in BorderLines)
            {
                component.BorderLines.Add(borderLineStorage);
            }
        }