コード例 #1
0
ファイル: SimulationRunner.cs プロジェクト: mahibak/idlorio
    public void Update(List <Machine> machines)
    {
        float desiredDt = 1 / 60.0f;

        while (desiredDt > 0)
        {
            if (timeSeconds + desiredDt > recalculationNeededTime)
            {
                float possibleDt = recalculationNeededTime - timeSeconds;
                UpdateMachines(machines, possibleDt);
                desiredDt   -= possibleDt;
                timeSeconds += possibleDt;
                MachineComputations.UpdateRates(machines);
                _instance.recalculationNeededTime = _instance.timeSeconds + machines.Min(x => x.GetSecondsBeforeRecalculationNeeded());
            }
            else
            {
                UpdateMachines(machines, desiredDt);
                timeSeconds += desiredDt;
                break;
            }
        }
    }
コード例 #2
0
ファイル: MachineManager.cs プロジェクト: mahibak/idlorio
 public static void UpdateRecipes()
 {
     MachineComputations.UpdateRecipes(MachineManager.GetInstance().m_machines);
     MachineComputations.UpdateRates(MachineManager.GetInstance().m_machines);
 }