Пример #1
0
 public override int GetHashCode()
 {
     unchecked
     {
         return(((ScheduleGroups != null ? ScheduleGroups.GetHashCode() : 0) * 397) ^ (ScheduleRoot != null ? ScheduleRoot.GetHashCode() : 0));
     }
 }
Пример #2
0
 public bool Equals(Schedule other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(ScheduleGroups.UnorderEquals(other.ScheduleGroups) && Equals(ScheduleRoot, other.ScheduleRoot));
 }
Пример #3
0
 /// <summary>
 /// Applied after the constructor runs.
 /// </summary>
 internal static void Postfix(ScheduleGroups __instance)
 {
     Work = Db.Get().ScheduleBlockTypes.Work;
     if (Work == null || FinishBlock == null)
     {
         PUtil.LogError("Schedule block types undefined for FinishTask group!");
     }
     else
     {
         // Default schedule does not contain this type
         FinishTask = __instance.Add(FINISHTASK.ID, 0, FINISHTASK.NAME, FINISHTASK.
                                     DESCRIPTION, FINISHTASK.NOTIFICATION_TOOLTIP,
                                     new List <ScheduleBlockType>()
         {
             Work, FinishBlock
         }, false);
     }
 }
    public override void Initialize()
    {
        base.Initialize();
        Urges                  = new Urges();
        AssignableSlots        = new AssignableSlots();
        StateMachineCategories = new StateMachineCategories();
        Personalities          = new Personalities();
        Faces                  = new Faces();
        Shirts                 = new Shirts();
        Expressions            = new Expressions(Root);
        Thoughts               = new Thoughts(Root);
        Deaths                 = new Deaths(Root);
        StatusItemCategories   = new StatusItemCategories(Root);
        Techs                  = new Techs(Root);
        Techs.Load(researchTreeFile);
        TechTreeTitles = new TechTreeTitles(Root);
        TechTreeTitles.Load(researchTreeFile);
        TechItems             = new TechItems(Root);
        Accessories           = new Accessories(Root);
        AccessorySlots        = new AccessorySlots(Root, null, null, null);
        ScheduleBlockTypes    = new ScheduleBlockTypes(Root);
        ScheduleGroups        = new ScheduleGroups(Root);
        RoomTypeCategories    = new RoomTypeCategories(Root);
        RoomTypes             = new RoomTypes(Root);
        ArtifactDropRates     = new ArtifactDropRates(Root);
        SpaceDestinationTypes = new SpaceDestinationTypes(Root);
        Diseases            = new Diseases(Root);
        Sicknesses          = new Database.Sicknesses(Root);
        SkillPerks          = new SkillPerks(Root);
        SkillGroups         = new SkillGroups(Root);
        Skills              = new Skills(Root);
        ColonyAchievements  = new ColonyAchievements(Root);
        MiscStatusItems     = new MiscStatusItems(Root);
        CreatureStatusItems = new CreatureStatusItems(Root);
        BuildingStatusItems = new BuildingStatusItems(Root);
        ChoreTypes          = new ChoreTypes(Root);
        Effect effect = new Effect("CenterOfAttention", DUPLICANTS.MODIFIERS.CENTEROFATTENTION.NAME, DUPLICANTS.MODIFIERS.CENTEROFATTENTION.TOOLTIP, 0f, true, true, false, null, 0f, null);

        effect.Add(new AttributeModifier("StressDelta", -0.008333334f, DUPLICANTS.MODIFIERS.CENTEROFATTENTION.NAME, false, false, true));
        effects.Add(effect);
        CollectResources(Root, ResourceTable);
    }