コード例 #1
0
 private void CheckTraitAppliesModifierPotential(PersonalityTrait inPersonalityTrait)
 {
     if (!inPersonalityTrait.DoesModifyStat(PersonalityTrait.StatModified.Potential))
     {
         return;
     }
     this.mDriver.UpdateModifiedPotentialValue(inPersonalityTrait.GetSingleModifierForStat(PersonalityTrait.StatModified.Potential));
 }
コード例 #2
0
        public QuestionTopFive(string question, PersonalityTrait personalityTrait, string answer1, string answer2, string answer3, string answer4, string answer5)
        {
            Question = question;
            this.personalityTrait = personalityTrait;

            Answers.Add(new Choice(answer1));
            Answers.Add(new Choice(answer2));
            Answers.Add(new Choice(answer3));
            Answers.Add(new Choice(answer4));
            Answers.Add(new Choice(answer5));
        }
コード例 #3
0
        public QuestionTopFive(string question, PersonalityTrait personalityTrait)
        {
            Question = question;
            this.personalityTrait = personalityTrait;

            Answers.Add(new Choice(MainDialog.Response.Answer1()));
            Answers.Add(new Choice(MainDialog.Response.Answer2()));
            Answers.Add(new Choice(MainDialog.Response.Answer3()));
            Answers.Add(new Choice(MainDialog.Response.Answer4()));
            Answers.Add(new Choice(MainDialog.Response.Answer5()));
        }
コード例 #4
0
    public PersonalityTrait AddPersonalityTrait(PersonalityTraitData inPersonalityTraitData, bool inActivatePersonalityTraitTrigger)
    {
        PersonalityTrait inPersonalityTrait = new PersonalityTrait(inPersonalityTraitData, this.mDriver);

        if (inPersonalityTrait.Data.removesTraits != null)
        {
            for (int index1 = 0; index1 < inPersonalityTrait.Data.removesTraits.Length; ++index1)
            {
                int removesTrait = inPersonalityTrait.Data.removesTraits[index1];
                for (int index2 = 0; index2 < this.permanentPersonalityTraits.Count; ++index2)
                {
                    if (removesTrait == this.permanentPersonalityTraits[index2].Data.ID)
                    {
                        this.RemovePersonalityTrait(this.permanentPersonalityTraits[index2]);
                        --index2;
                    }
                }
                for (int index2 = 0; index2 < this.temporaryPersonalityTraits.Count; ++index2)
                {
                    if (removesTrait == this.temporaryPersonalityTraits[index2].Data.ID)
                    {
                        this.RemovePersonalityTrait(this.temporaryPersonalityTraits[index2]);
                        --index2;
                    }
                }
            }
        }
        if (inPersonalityTraitData.type == PersonalityTraitData.TraitType.Permanent)
        {
            this.permanentPersonalityTraits.Add(inPersonalityTrait);
        }
        else if (inPersonalityTraitData.type == PersonalityTraitData.TraitType.Temporary)
        {
            inPersonalityTrait.SetupTraitEndTime();
            this.temporaryPersonalityTraits.Add(inPersonalityTrait);
        }
        this.allTraits.Add(inPersonalityTrait);
        if (!inPersonalityTraitData.isRepeatable)
        {
            this.mTraitHistory.Add(inPersonalityTraitData.ID);
        }
        this.CheckTraitAppliesModifierPotential(inPersonalityTrait);
        inPersonalityTrait.OnTraitStart();
        if (inActivatePersonalityTraitTrigger)
        {
            this.ActivatePersonalityTraitTrigger(inPersonalityTrait);
        }
        return(inPersonalityTrait);
    }
コード例 #5
0
 public void RemovePersonalityTrait(PersonalityTrait inPersonalityTrait)
 {
     if (inPersonalityTrait.Data.type == PersonalityTraitData.TraitType.Permanent)
     {
         this.permanentPersonalityTraits.Remove(inPersonalityTrait);
     }
     else if (inPersonalityTrait.Data.type == PersonalityTraitData.TraitType.Temporary)
     {
         this.temporaryPersonalityTraits.Remove(inPersonalityTrait);
     }
     if (!this.allTraits.Contains(inPersonalityTrait))
     {
         return;
     }
     this.allTraits.Remove(inPersonalityTrait);
 }
コード例 #6
0
 public void ActivatePersonalityTraitTrigger(PersonalityTrait inPersonalityTrait)
 {
     //if (Game.Instance.player.IsUnemployed() || ((inPersonalityTrait.Data.shownType == PersonalityTraitData.TriggerShownType.AllDrivers ? 1 : 0) | (!this.mDriver.IsPlayersDriver() ? 0 : (inPersonalityTrait.Data.shownType == PersonalityTraitData.TriggerShownType.PlayerDriverOnly ? 1 : 0))) == 0)
     //    return;
     //Game.Instance.dialogSystem.OnNewPersonalityTrait(this.mDriver, inPersonalityTrait);
 }