Example #1
0
 public void ClearChallenge()
 {
     Log.Message("Clearing challenge");
     currentChallenge    = new ChallengeWorkerNone(null);
     currentChallengeDef = null;
     progress            = 0;
 }
Example #2
0
 public override void PreOpen()
 {
     base.PreOpen();
     if (selectedChallenge == null)
     {
         selectedChallenge = DefDatabase <ChallengeDef> .AllDefs.RandomElementWithFallback(null);
     }
 }
Example #3
0
        public void StartChallenge(ChallengeDef challengeDef)
        {
            if (HasChallenge())
            {
                currentChallenge.Interrupt();
            }

            if (challengeDef != null)
            {
                Log.Message("Picked a challenge: " + challengeDef);
                currentChallengeDef = challengeDef;
                currentChallenge    = (ChallengeWorker)Activator.CreateInstance(challengeDef.workerClass, challengeDef);
            }
        }
Example #4
0
        private void ListScenariosOnListing(Listing_Standard listing, IEnumerable <ChallengeDef> challenges)
        {
            bool flag = false;

            foreach (ChallengeDef current in challenges)
            {
                if (flag)
                {
                    listing.Gap(12f);
                }
                ChallengeDef scen = current;
                Rect         rect = listing.GetRect(62f);
                this.DoScenarioListEntry(rect, scen);
                flag = true;
            }
            if (!flag)
            {
                GUI.color = new Color(1f, 1f, 1f, 0.5f);
                listing.Label("(" + "NoneLower".Translate() + ")", -1f);
                GUI.color = Color.white;
            }
        }
Example #5
0
        private void DoScenarioListEntry(Rect rect, ChallengeDef challenge)
        {
            bool isSelected = this.selectedChallenge == challenge;
            bool canPick    = challenge.CanStartNow;

            Widgets.DrawOptionBackground(rect, isSelected);
            Rect rect2 = rect.ContractedBy(4f);

            if (!canPick)
            {
                GUI.color = new Color(1f, 1f, 1f, 0.5f);
            }
            else
            {
                MouseoverSounds.DoRegion(rect);
            }
            Text.Font = GameFont.Small;
            Rect rect3 = rect2;

            rect3.height = Text.CalcHeight(challenge.LabelCap, rect3.width);
            Widgets.Label(rect3, challenge.LabelCap);
            Text.Font = GameFont.Tiny;
            Rect rect4 = rect2;

            rect4.yMin = rect3.yMax;
            Widgets.Label(rect4, challenge.description);

            GUI.color = Color.white;


            if (canPick)
            {
                if (!isSelected && Widgets.ButtonInvisible(rect, false))
                {
                    this.selectedChallenge = challenge;
                    SoundDefOf.Click.PlayOneShotOnCamera(null);
                }
            }
        }
Example #6
0
 internal bool isFinished(ChallengeDef def)
 {
     return(challenges.Contains(def));
 }
Example #7
0
 public void AddCompleted(ChallengeDef def)
 {
     challenges.Add(def);
 }
Example #8
0
        internal static void checkFinished(ChallengeDef def)
        {
            CompletedChallengesList completed = instance.GetSettings <CompletedChallengesList>();

            def.IsFinished = completed.isFinished(def);
        }
Example #9
0
 internal static void ChallengeComplete(ChallengeDef def)
 {
     instance.GetSettings <CompletedChallengesList>().AddCompleted(def);
     instance.WriteSettings();
 }
 internal void setChallenge(ChallengeDef selectedChallenge)
 {
     Log.Message("Picking challenge...");
     ChallengeManager.instance.StartChallenge(selectedChallenge);
 }