static void Postfix(ref JobType __result, StaticJobDefinition definition) { if (__result == JobType.Custom) { if (definition is StaticPassengerJobDefinition) { __result = (definition as StaticPassengerJobDefinition).subType; } } }
private void OnNextJobInChainGenerated(StaticJobDefinition jobDef, DV.Logic.Job.Job job) { if (NetworkManager.IsHost()) { Job data = jobs.FirstOrDefault(j => j.Definition == jobDef); Job prevJob = jobs.FirstOrDefault(j => j.ChainId == data.ChainId && j.IsCurrentJob); prevJob.IsCurrentJob = false; data.GameId = job.ID; data.IsCurrentJob = true; SendNextJobGenerated(data); } Main.Log("Register job taken event"); job.JobTaken += OnJobTaken; Main.Log("Job fully loaded"); }
private JobType GetJobTypeFromDefinition(StaticJobDefinition definition) { JobType jobType = JobType.Custom; if (definition is StaticEmptyHaulJobDefinition) { jobType = JobType.EmptyHaul; } else if (definition is StaticShuntingLoadJobDefinition) { jobType = JobType.ShuntingLoad; } else if (definition is StaticShuntingUnloadJobDefinition) { jobType = JobType.ShuntingUnload; } else if (definition is StaticTransportJobDefinition) { jobType = JobType.Transport; } return(jobType); }