Exemple #1
0
    private void resetAvailableMissionContracts()
    {
        deleteAvailableMissionContracts();

        for (var i = 0; i < totalAvailableMissionContracts; i++)
        {
            // Create a random mission contract
            var durationRand   = Random.Range(1, 50);
            var complexityRand = Random.Range(10, 100);

            var duration   = (int)durationRand;   // 1-50 man-months (based on productivity of engineers)
            var complexity = (int)complexityRand; // 10-100

            var reward     = (duration * complexity);
            var rewardRand = (int)Random.Range(reward * -0.5f, reward * 0.5f);
            reward = reward + rewardRand; // based on complexity and duration +- half itself to add some randomness

            var mc = new MissionContractTask(duration, complexity, reward);
            availableMissionContracts.Add(mc);

            // Create mission rows
            var missionTaskRow = Instantiate(AvailableMissionRowPanel);
            missionTaskRow.transform.SetParent(MissionsAvailablePanel.transform, false);
            missionTaskRow.GetComponentInChildren <TakeMissionContractButton>().Setup(mc);
            missionContractRows.Add(missionTaskRow);
        }
    }
Exemple #2
0
    public float GetMissionContractSuccessProbability(MissionContractTask mc)
    {
        var successProbability = getEngineeringMaxProficiency() / (float)mc.Complexity;

        successProbability *= engineeringProficiencyModifier;
        return(successProbability);
    }
Exemple #3
0
    public void OnStartMissionContract(MissionContractTask mc)
    {
        if (currentMissionContract != null)
        {
            //OverviewText.text = "Mission contract already in progress, only one allowed at a time.";
            showErrorMessage("Mission contract already in progress, only one allowed at a time.");
            return;
        }

        if (hiredEngineers.Count == 0)
        {
            //OverviewText.text = "Cannot start mission contract without engineers.";
            showErrorMessage("Cannot start mission contract without engineers.");
            return;
        }

        currentMissionContract         = mc;
        CurrentMissionSummaryText.text = getCurrentMissionSummaryString();
        CurrentMissionFullText.text    = getCurrentMissionFullString();

        // Remove available contracts
        deleteAvailableMissionContracts();

        launchVisualizationManager.VisualizeMissionStart();
    }
Exemple #4
0
    public void HandleMissionContractFailure()
    {
        //OverviewText.text = "Failure! The customer will not pay for failures :(";

        LaunchReportText.text = "Failure! The customer will not pay for failures :(";
        LaunchReportCanvas.SetActive(true);

        currentMissionContract = null;
    }
Exemple #5
0
    public void HandleMissionContractSuccess()
    {
        funds += currentMissionContract.Value;
        //OverviewText.text = "Success! You have been rewarded " + currentMissionContract.Value + " funds!";
        updateFundsText();

        LaunchReportText.text = "Success! You have been rewarded " + currentMissionContract.Value + " funds!";
        LaunchReportCanvas.SetActive(true);

        currentMissionContract = null;
    }
Exemple #6
0
 public void Setup(MissionContractTask missionContract)
 {
     missionContractTask = missionContract;
     UpdateButtonText();
 }