コード例 #1
0
ファイル: lab2.cs プロジェクト: gfhfcm/C-Labs
        /// <summary>
        /// Функция создания каталога публикаций
        /// </summary>
        /// <param name="BookInf">Информация о книгах</param>
        /// <param name="PaperInf">Информация о Журналах</param>
        /// <param name="ERInf">Информация о электронных ресурсах</param>
        /// <returns></returns>
        public static Source[] CreateCatalog(string[] BookInf, string[] PaperInf, string[] ERInf)
        {
            Trace.WriteLine("lab2.CreateCatalog");
            int BookNum, PaperNum, ERNum, temp;

            temp     = 0;
            BookNum  = Convert.ToInt32(BookInf[0]);
            PaperNum = Convert.ToInt32(PaperInf[0]);
            ERNum    = Convert.ToInt32(ERInf[0]);
            int sum = ERNum + BookNum + PaperNum;

            Source[] MainCatalog = new Source[sum];
            for (int i = 1, j = 0; j < BookNum; j++)
            {
                MainCatalog[temp] = new Book(BookInf[i], BookInf[i + 1], BookInf[i + 2], BookInf[i + 3]);
                temp += 1;
                i    += 4;
            }
            for (int i = 1, j = 0; j < PaperNum; j++)
            {
                MainCatalog[temp] = new Paper(PaperInf[i], PaperInf[i + 1], PaperInf[i + 2], PaperInf[i + 3], PaperInf[i + 4]);
                i    += 5;
                temp += 1;
            }
            for (int i = 1, j = 0; j < ERNum; j++)
            {
                MainCatalog[temp] = new EResources(ERInf[i], ERInf[i + 1], ERInf[i + 2], ERInf[i + 3]);
                i    += 4;
                temp += 1;
            }
            return(MainCatalog);
        }
コード例 #2
0
    public void ModifyResources(EResources resource, int amountToModify)
    {
        resources[resource] += amountToModify;

        if (resource == EResources.Population)
        {
            resources[EResources.UncountedPopulation] += amountToModify;
        }

        controller.SpecifyResourceTexts(this);
        controller.SpecifyPreviousResourceText(this);
    }
コード例 #3
0
    Start()
    {
        // Uses the object instanceID as seed to avoid getting the same number
        System.Random randomGen = new System.Random(GetInstanceID());
        // Choose resource type
        m_ResourceType = (EResources)randomGen.Next((int)EResources.NUM_OF_MINERAL_RESOURCES);
        // Sets the initial amount
        m_ResourceAmount = UnityEngine.Random.Range(mc_MinResource, mc_MaxResource);

        // Sets the sprite of parent to be the correct one (assumes that the script sprites are in the same order as the enumeration).
        SpriteRenderer parentSpriteRenderer = GetComponentsInParent <SpriteRenderer>()[0];

        parentSpriteRenderer.sprite = m_Sprites[(int)m_ResourceType];
    }
コード例 #4
0
    GetResourceInfo(out EResources resourceType, out double resourceAmount, out bool hasBuilding, out string currOwner)
    {
        resourceType   = m_ResourceType;
        resourceAmount = m_ResourceAmount;
        hasBuilding    = m_HasBuilding;
        if (m_Owner != null)
        {
            currOwner = m_Owner.Name;
        }
        else
        {
            currOwner = "No One";
        }

        return(true);
    }
コード例 #5
0
    public int GetValue(EResources resource)
    {
        switch (resource)
        {
        case EResources.APPRENTICES:
            return(apprentices.Value);

        case EResources.FOOD:
            return(food.Value);

        case EResources.GOLD:
            return(gold.Value);

        case EResources.POWER:
            return(power.Value);

        default:
            return(-1);
        }
    }
コード例 #6
0
    public void AddResources(EResources resource, int n)
    {
        switch (resource)
        {
        case EResources.APPRENTICES:
            apprentices.AddResource(n);
            break;

        case EResources.FOOD:
            food.AddResource(n);
            break;

        case EResources.GOLD:
            gold.AddResource(n);
            break;

        case EResources.POWER:
            power.AddResource(n);
            break;
        }
    }
コード例 #7
0
 public ChangeResourceEffect(EResources resource, int n)
 {
     this.resource = resource;
     changeValue   = n;
 }
コード例 #8
0
 public ResourceCondition(EResources resource, int n)
 {
     this.resource = resource;
     value         = n;
 }