public void Component()
    {
        MaxComponent maxComponent = CompanyStructure.instance.GetMaxComponent();

        AddComponentCard(ComponentType.Genre, componentGenreContent, product.GetGenreDataList(), maxComponent.maxGenre);
        AddComponentCard(ComponentType.Theme, componentThemeContent, product.GetThemeDataList(), maxComponent.maxTheme);
        AddComponentCard(ComponentType.Graphic, componentGraphicContent, product.GetGraphicDataList(), maxComponent.maxGraphic);
        AddComponentCard(ComponentType.Camera, componentCameraContent, product.GetCameraDataList(), maxComponent.maxCamera);
        AddComponentCard(ComponentType.Feature, componentFeatureContent, product.GetFeatureDataList(), maxComponent.maxFeature);
        AddComponentCard(ComponentType.Platform, componentPlatformContent, product.GetPlatformDataList(), maxComponent.maxPlatform);
    }
Example #2
0
    public ContractData GenerateContract(ContractType contractType)
    {
        ContractData contractData = new ContractData();

        contractData.contractType = contractType;
        contractData.scaleType    = (ScaleType)UnityEngine.Random.Range(1, Enum.GetValues(typeof(ScaleType)).Length);


        int maxComponentRequirements = 0;

        Data.GameTimeStructure dueDate = new Data.GameTimeStructure();

        if (contractData.scaleType == ScaleType.Small)
        {
            maxComponentRequirements = UnityEngine.Random.Range(2, 3 + 1);
            dueDate = GameTimeStructure.instance.GetFutureTime(UnityEngine.Random.Range(2, 3));
        }
        else if (contractData.scaleType == ScaleType.Medium)
        {
            maxComponentRequirements = UnityEngine.Random.Range(4, 9 + 1);
            dueDate = GameTimeStructure.instance.GetFutureTime(UnityEngine.Random.Range(2, 4));
        }
        else if (contractData.scaleType == ScaleType.Large)
        {
            maxComponentRequirements = UnityEngine.Random.Range(10, 15 + 1);
            dueDate = GameTimeStructure.instance.GetFutureTime(UnityEngine.Random.Range(4, 12));
        }

        MaxComponent maxComponent = CompanyStructure.instance.GetMaxComponent();

        if (contractType == ContractType.Scenario)
        {
            contractData.genreDatas  = ComponentAsset.instance.RandomComponentGenre(maxComponentRequirements, maxComponent.maxGenre);
            contractData.cameraDatas = ComponentAsset.instance.RandomComponentCamera(maxComponentRequirements, maxComponent.maxCamera);
        }
        else if (contractType == ContractType.Graphic)
        {
            contractData.themeDatas   = ComponentAsset.instance.RandomComponentTheme(maxComponentRequirements, maxComponent.maxTheme);
            contractData.graphicDatas = ComponentAsset.instance.RandomComponentGraphic(maxComponentRequirements, maxComponent.maxGraphic);
        }
        else if (contractType == ContractType.Module)
        {
            contractData.featureDatas  = ComponentAsset.instance.RandomComponentFeature(maxComponentRequirements, maxComponent.maxFeature);
            contractData.platformDatas = ComponentAsset.instance.RandomComponentPlatform(maxComponentRequirements, maxComponent.maxPlatform);
        }
        else if (contractType == ContractType.Support)
        {
            //Wait
        }
        else if (contractType == ContractType.FullGameProject)
        {
            contractData.genreDatas    = ComponentAsset.instance.RandomComponentGenre(maxComponentRequirements, maxComponent.maxGenre);
            contractData.cameraDatas   = ComponentAsset.instance.RandomComponentCamera(maxComponentRequirements, maxComponent.maxCamera);
            contractData.themeDatas    = ComponentAsset.instance.RandomComponentTheme(maxComponentRequirements, maxComponent.maxTheme);
            contractData.graphicDatas  = ComponentAsset.instance.RandomComponentGraphic(maxComponentRequirements, maxComponent.maxGraphic);
            contractData.featureDatas  = ComponentAsset.instance.RandomComponentFeature(maxComponentRequirements, maxComponent.maxFeature);
            contractData.platformDatas = ComponentAsset.instance.RandomComponentPlatform(maxComponentRequirements, maxComponent.maxPlatform);
        }

        int    allLevelComponent_temp = 0;
        string workID = "";

        foreach (ComponentData componentRequirements in contractData.genreDatas)
        {
            allLevelComponent_temp += componentRequirements.productLevel;
            workID += (componentRequirements.componentID[componentRequirements.componentID.Length - 1] * componentRequirements.productLevel).ToString();
        }
        foreach (ComponentData componentRequirements in contractData.cameraDatas)
        {
            allLevelComponent_temp += componentRequirements.productLevel;
            workID += (componentRequirements.componentID[componentRequirements.componentID.Length - 1] * componentRequirements.productLevel).ToString();
        }
        foreach (ComponentData componentRequirements in contractData.themeDatas)
        {
            allLevelComponent_temp += componentRequirements.productLevel;
            workID += (componentRequirements.componentID[componentRequirements.componentID.Length - 1] * componentRequirements.productLevel).ToString();
        }
        foreach (ComponentData componentRequirements in contractData.graphicDatas)
        {
            allLevelComponent_temp += componentRequirements.productLevel;
            workID += (componentRequirements.componentID[componentRequirements.componentID.Length - 1] * componentRequirements.productLevel).ToString();
        }
        foreach (ComponentData componentRequirements in contractData.featureDatas)
        {
            allLevelComponent_temp += componentRequirements.productLevel;
            workID += (componentRequirements.componentID[componentRequirements.componentID.Length - 1] * componentRequirements.productLevel).ToString();
        }
        foreach (ComponentData componentRequirements in contractData.platformDatas)
        {
            allLevelComponent_temp += componentRequirements.productLevel;
            workID += (componentRequirements.componentID[componentRequirements.componentID.Length - 1] * componentRequirements.productLevel).ToString();
        }

        contractData.processMax = allLevelComponent_temp;

        contractData.workID = (int)contractData.contractType + (int)contractData.scaleType + maxComponentRequirements + workID + "";

        Reward reward = new Reward();

        reward.exp   = (10 * allLevelComponent_temp);
        reward.money = allLevelComponent_temp * 5000;


        Fine fine = new Fine();

        fine.money = (allLevelComponent_temp * 5000) / 2;

        contractData.reward  = reward;
        contractData.fine    = fine;
        contractData.dueDate = dueDate;

        return(contractData);
    }
Example #3
0
 public override string ToString()
 {
     return(MinComponent.ToString() + ", " + MaxComponent.ToString() + ", " + ThresholdMult.ToString());
 }