예제 #1
0
    public RancherChore(KPrefabID rancher_station)
        : base(Db.Get().ChoreTypes.Ranch, (IStateMachineTarget)rancher_station, (ChoreProvider)null, false, (Action <Chore>)null, (Action <Chore>)null, (Action <Chore>)null, PriorityScreen.PriorityClass.basic, 5, false, true, 0, false, ReportManager.ReportType.WorkTime)
    {
        AddPrecondition(IsCreatureAvailableForRanching, rancher_station.GetSMI <RanchStation.Instance>());
        AddPrecondition(ChorePreconditions.instance.HasSkillPerk, Db.Get().SkillPerks.CanUseRanchStation.Id);
        AddPrecondition(ChorePreconditions.instance.IsScheduledTime, Db.Get().ScheduleBlockTypes.Work);
        AddPrecondition(ChorePreconditions.instance.CanMoveTo, rancher_station.GetComponent <Building>());
        Operational component = rancher_station.GetComponent <Operational>();

        AddPrecondition(ChorePreconditions.instance.IsOperational, component);
        Deconstructable component2 = rancher_station.GetComponent <Deconstructable>();

        AddPrecondition(ChorePreconditions.instance.IsNotMarkedForDeconstruction, component2);
        BuildingEnabledButton component3 = rancher_station.GetComponent <BuildingEnabledButton>();

        AddPrecondition(ChorePreconditions.instance.IsNotMarkedForDisable, component3);
        base.smi = new RancherChoreStates.Instance(rancher_station);
        SetPrioritizable(rancher_station.GetComponent <Prioritizable>());
    }
예제 #2
0
 public Instance(KPrefabID rancher_station)
     : base((IStateMachineTarget)rancher_station)
 {
     ranchStation = rancher_station.GetSMI <RanchStation.Instance>();
 }
 public Instance(KPrefabID capture_point)
     : base((IStateMachineTarget)capture_point)
 {
     fixedCapturePoint = capture_point.GetSMI <FixedCapturePoint.Instance>();
 }