//Työnhaku vaihe 1. Cachea työpaikka haku varastoon, jos niin vain voi... static void cacheJob(EventInfo eventInfo) //Cachetaan uudet työpaikkahaut jonnekin varastoon myöhempää työn haun tulosta varten. { JobInfo job = (JobInfo)eventInfo; if ((cachedJobNotices.SingleOrDefault(cachedJob => cachedJob.jobNotice == job.jobNotice) != null)) { Flag flag = new Flag("JOB_ALREADY_APPLIED", 0, false); flag.FireFlag(); return; //Pelaaja on jo hakenut tätä työpaikkaa, älä cachea sitä kahdesti. } //Jos meiltä ei löydy vielä jobhunt flagia. addaa se Flag jobHuntFlag = GlobalGameFlags.GetFlag("PLAYER_JOBHUNT"); if (jobHuntFlag == null) { jobHuntFlag = new Flag("PLAYER_JOBHUNT", 0, false); GlobalGameFlags.addFlag(jobHuntFlag); } int randomInt = Random.Range(0, 100); if (randomInt <= job.jobNotice.scriptable.chanceOfBeingHired) //Jos pelaajalla on tsänssin mukaan mahdollisuus saada työpaikka, cachea tämä tulos { cachedJobNotices.Add(job); } }
static void PayFromIncomeSources() { for (int i = 0; i < incomeSources().Count; i++) { if (incomeSources().Count == 0) { return; } if (GlobalGameFlags.GetFlag("PLAYER_HAS_APPLIED_TAXFORM") == null) { Flag taxFlag = new Flag("PLAYER_INFORMED_ABOUT_TAXFORM", 0, true); taxFlag.FireFlag(); PaerToolBox.changePlayerMoney(incomeSources()[i].getNetIncomeInAMonth() * 0.6f);; //Pelaaja ei ole hakenut verokorttia, rankaise } else { PaerToolBox.changePlayerMoney(incomeSources()[i].getNetIncomeInAMonth()); Flag flag = GlobalGameFlags.GetFlag("FIRST_INCOME_RECEIVED"); if (flag == null) { flag = new Flag("FIRST_INCOME_RECEIVED", 0, true); GlobalGameFlags.addFlag(flag); flag.FireFlag(); } } } removeExtras(); }
public void triggerFlags() { foreach (var item in flagsToTrigger) { if ((GlobalGameFlags.GetFlag(item.FlagName) != null) && item.uniqueFlag == true) { return; } item.FireFlag(); } }
//Käytä generoituja tsänssejä, ja valitse työpaikka. static void dieRollTheJob() { registerJob(NormalizedChanceGenerator.getSelection <JobInfo>(cachedJobNotices.ToArray())); Flag flag = new Flag("JOB_RECEIVED", 0, false); flag.FireFlag(); GlobalGameFlags.DisposeFlag(GlobalGameFlags.GetFlag("PLAYER_JOBHUNT")); cachedJobNotices.Clear(); }
public void applyForJob() { if (GlobalGameFlags.GetFlag("TUTORIAL_FIRSTJOB") == null) { Flag flag = new Flag("TUTORIAL_FIRSTJOB", 0, true); flag.FireFlag(); } JobInfo jobInfo = new JobInfo(); jobInfo.jobNotice = _jobNotice; GameEventSystem.DoEvent( Event_Type.JOB_APPLY, jobInfo ); }
//Aikaa on kulunut, nyt koita generoida valituille työpaikoille tsänssit saada tämä työpaikka static void checkJobApply() { if (cachedJobNotices.Count > 0) //Jos cachesta löytyy ilmoituksia, suoritetaan. { dieRollTheJob(); } else { Flag jobHuntFlag = GlobalGameFlags.GetFlag("PLAYER_JOBHUNT"); if (jobHuntFlag != null) { Flag flag = new Flag("PLAYER_DID_NOT_GET_JOB", 0, false); flag.FireFlag(); GlobalGameFlags.DisposeFlag(jobHuntFlag); } } }
public float getScore() { float score = 0; for (int i = 0; i < titleStats.Length; i++) { score += (PlayerDataHolder.Current.getStatByEnum(titleStats[i].affectedStat).StatFloat); } for (int i = 0; i < boosterFlags.Length; i++) { if (GlobalGameFlags.GetFlag(boosterFlags[i].FlagName) != null) { score += boosterFlags[i].flagBoost; } } return(score); }