コード例 #1
0
 static void Postfix(ref JobType __result, StaticJobDefinition definition)
 {
     if (__result == JobType.Custom)
     {
         if (definition is StaticPassengerJobDefinition)
         {
             __result = (definition as StaticPassengerJobDefinition).subType;
         }
     }
 }
コード例 #2
0
    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");
    }
コード例 #3
0
    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);
    }