Esempio n. 1
0
        static void PerformAssignment(IRepairParticipant repairParticipant, RepairData repairData)
        {
            CustomPRCData cPRCD = repairData.customControllerData as CustomPRCData;

            cPRCD.assignedParticipants.Add(repairParticipant);
            repairParticipant.AssignRepair(repairData);

            double newlyAssignedQuality = repairParticipant.GetAssignedQuality(repairData);

            if (newlyAssignedQuality > cPRCD.maxAssignedQuality)
            {
                cPRCD.maxAssignedQuality = newlyAssignedQuality;
            }

            if (repairParticipant.IsHandlingThisRepairNow(repairData) && newlyAssignedQuality > cPRCD.currentlyAvailableQuality)
            {
                cPRCD.currentlyAvailableQuality = newlyAssignedQuality;
            }

            if (newlyAssignedQuality > cPRCD.workingAtQuality && (repairData.progressRatio != 0 || cPRCD.isRunning))
            {
                // TODO: notify about ability to restart repair for better quality
            }
        }
Esempio n. 2
0
 public void DeassignRepairParticipant(IRepairParticipant repairParticipant)
 {
 }