public void FillDetail(IScienceExperiment experiment) { TitleDescription.text = string.Format("<b>{0}</b>\n<i>{1}</i>", experiment.Title().ToUpperInvariant(), experiment.Experiment.Description()); RewardText.text = string.Format("${0} REWARD", experiment.Reward); DetailSprite.sprite = experiment.Experiment.Sprite(); ExperimentStatus status = experiment.Status; CancelButton.gameObject.SetActive(status == ExperimentStatus.Accepted); AcceptButton.gameObject.SetActive(status == ExperimentStatus.Available); FinishButton.gameObject.SetActive(status == ExperimentStatus.ReadyForCompletion); FinishedPanel.gameObject.SetActive(status == ExperimentStatus.Completed); switch (status) { case ExperimentStatus.Accepted: ClockFill.fillAmount = experiment.Progress; break; case ExperimentStatus.Available: ClockFill.fillAmount = 0f; break; case ExperimentStatus.ReadyForCompletion: case ExperimentStatus.Completed: ClockFill.fillAmount = 1f; break; } DayText.text = experiment.ProgressText; }
internal void ScienceExperimentPayday(IScienceExperiment experiment) { Game.Current.Player.BankAccount += experiment.Reward; if (this.OnBankAccountChange != null) { this.OnBankAccountChange(); } }
public bool CompleteExperiment(IScienceExperiment experiment) { if (experiment.Experiment == ExperimentType.BioMinilab && !this.MinilabDocked) { GuiBridge.Instance.ShowNews(NewsSource.MinilabNotDocked); return(false); } Science.Complete(experiment); CleanupExperiments(experiment); experiment.OnComplete(); return(true); }
public static void Complete(this IScienceExperiment experiment) { switch (experiment.Experiment) { case ExperimentType.BioMinilab: Base.Current.CompletedBiologyMissions = getNewCompletedScienceMissionArray(Base.Current.CompletedBiologyMissions, experiment); break; case ExperimentType.GeoSample: Base.Current.CompletedGeologyMissions = getNewCompletedScienceMissionArray(Base.Current.CompletedGeologyMissions, experiment); break; } EconomyManager.Instance.ScienceExperimentPayday(experiment); }
public void ClickOrHover(int index) { switch (CurrentPage) { case DetailPage.Biology: detailedExperiment = BiologyMissionList[index]; UI.FillDetail(detailedExperiment); break; case DetailPage.Geology: detailedExperiment = GeologyMissionList[index]; UI.FillDetail(detailedExperiment); break; } }
public bool CompleteExperiment(IScienceExperiment experiment) { if (experiment.Experiment == ExperimentType.BioMinilab && !this.MinilabDocked) { GuiBridge.Instance.ShowNews(NewsSource.MinilabNotDocked); return(false); } Science.Complete(experiment); Game.Current.Score.AddScoringEvent(RedHomestead.Scoring.ScoreType.Science, GuiBridge.Instance); CleanupExperiments(experiment); experiment.OnComplete(); return(true); }
private void CleanupExperiments(IScienceExperiment experiment) { switch (experiment.Experiment) { case ExperimentType.BioMinilab: if (CurrentMinilab != null) { GameObject.Destroy(CurrentMinilab.gameObject); } FlexData.CurrentBioExperiment = null; break; case ExperimentType.GeoSample: FlexData.CurrentGeoExperiment = null; break; } }
public void AcceptExperiment(IScienceExperiment experiment) { switch (experiment.Experiment) { case ExperimentType.BioMinilab: FlexData.CurrentBioExperiment = experiment as BiologyScienceExperiment; if (CurrentMinilab == null) { CreateMinilab(); } break; case ExperimentType.GeoSample: FlexData.CurrentGeoExperiment = experiment as GeologyScienceExperiment; break; } experiment.OnAccept(); }
public static string Title(this IScienceExperiment experiment) { string result = ""; switch (experiment.Experiment) { case ExperimentType.BioMinilab: result = "Minilab"; break; default: case ExperimentType.GeoSample: result = "Sample"; break; } return(result + " Mission " + experiment.MissionNumber); }
public void CancelExperiment(IScienceExperiment experiment) { CleanupExperiments(experiment); experiment.OnCancel(); }
internal ControlBuilder(IScienceExperiment <T, TPublish> experiment) { this.experiment = experiment; steps = experiment.Steps; }
public IControlBuilder <T, TPublish> CreateExperiment <T, TPublish>(IScienceExperiment <T, TPublish> custom) { return(new ControlBuilder <T, TPublish>(custom)); }
private static int[] getNewCompletedScienceMissionArray(int[] previouslyCompletedMissions, IScienceExperiment experiment) { if (previouslyCompletedMissions == null) { return new int[1] { experiment.MissionNumber } } ; else { var list = previouslyCompletedMissions.ToList(); list.Add(experiment.MissionNumber); return(list.ToArray()); } }