コード例 #1
0
ファイル: Location.cs プロジェクト: arpond/longRoadHome
        /// <summary>
        /// Generates Sub Location with default constants
        /// </summary>
        public void GenerateSubLocations()
        {
            sublocations = new Dictionary <int, Sublocation>();
            var keys = SubLocationFactory.GetRegisteredTypes().ToList();

            for (int i = 1; i < STD_SIZE + 1; i++)
            {
                sublocations.Add(i, GenerateRandomSublocation(i, keys));
            }
            currentSubLocation = null;
        }
コード例 #2
0
ファイル: Location.cs プロジェクト: arpond/longRoadHome
        /// <summary>
        /// Size constructor defaults to constant values for everything except size
        /// Invalid Size (size<=0) is set to STD_SIZE
        /// </summary>
        /// <param name="size">Size of the location (Number of sublocations)</param>
        public void GenerateSubLocations(int size)
        {
            if (size <= 0)
            {
                size = STD_SIZE;
            }
            visited      = false;
            sublocations = new Dictionary <int, Sublocation>();
            var keys = SubLocationFactory.GetRegisteredTypes().ToList();

            for (int i = 1; i < size + 1; i++)
            {
                sublocations.Add(i, GenerateRandomSublocation(i, keys));
            }
            currentSubLocation = null;
        }
コード例 #3
0
ファイル: Location.cs プロジェクト: arpond/longRoadHome
        /// <summary>
        /// Generates sub locations based on attibutes given
        /// Invalid params are set to standard values
        /// </summary>
        /// <param name="sizeMin">Minimum size</param>
        /// <param name="sizeMax">Maximum size</param>
        /// <param name="maxItems">Max items to be found at each sublocation</param>
        /// <param name="maxAmount">Max amount of each item to be found at each sublocation</param>
        public void GenerateSubLocations(int sizeMin, int sizeMax, int maxItems, int maxAmount)
        {
            if (sizeMin <= 0)
            {
                sizeMin = 1;
            }
            if (sizeMax <= 0)
            {
                sizeMax = STD_SIZE;
            }
            if (sizeMax < sizeMin)
            {
                sizeMax = sizeMin + 1;
            }
            if (maxItems <= 0)
            {
                maxItems = STD_MAX_ITEMS;
            }
            if (maxAmount <= 0)
            {
                maxAmount = STD_MAX_AMOUNT;
            }
            visited      = false;
            sublocations = new Dictionary <int, Sublocation>();
            var keys = SubLocationFactory.GetRegisteredTypes().ToList();

            int size = rnd.Next(sizeMin, sizeMax + 1);

            for (int i = 1; i < size + 1; i++)
            {
                int sub_maxItems  = rnd.Next(1, maxItems);
                int sub_maxAmount = rnd.Next(1, maxAmount);
                sublocations.Add(i, GenerateRandomSublocation(i, keys, sub_maxItems, sub_maxAmount));
            }
            currentSubLocation = null;
        }
コード例 #4
0
ファイル: Location.cs プロジェクト: arpond/longRoadHome
        /// <summary>
        /// Generates sub locations based on attibutes given
        /// Invalid params are set to standard values
        /// </summary>
        /// <param name="size">Size of the location (Number of sublocations)</param>
        /// <param name="maxItems">Max items to be found at each sublocation</param>
        /// <param name="maxAmount">Max amount of each item to be found at each sublocation</param>
        public void GenerateSubLocations(int size, int maxItems, int maxAmount)
        {
            if (size <= 0)
            {
                size = STD_SIZE;
            }
            if (maxItems <= 0)
            {
                maxItems = STD_MAX_ITEMS;
            }
            if (maxAmount <= 0)
            {
                maxAmount = STD_MAX_AMOUNT;
            }
            visited      = false;
            sublocations = new Dictionary <int, Sublocation>();
            var keys = SubLocationFactory.GetRegisteredTypes().ToList();

            for (int i = 1; i < size + 1; i++)
            {
                sublocations.Add(i, GenerateRandomSublocation(i, keys, maxItems, maxAmount));
            }
            currentSubLocation = null;
        }