Ejemplo n.º 1
0
    //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);
        }
    }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
 public void triggerFlags()
 {
     foreach (var item in flagsToTrigger)
     {
         if ((GlobalGameFlags.GetFlag(item.FlagName) != null) && item.uniqueFlag == true)
         {
             return;
         }
         item.FireFlag();
     }
 }
Ejemplo n.º 4
0
    //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();
    }
Ejemplo n.º 5
0
    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
            );
    }
Ejemplo n.º 6
0
 //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);
    }