Exemple #1
0
        public void Update()
        {
            while (true)
            {
                if (transporterManager.CheckRepairQueue() && transporter == null)
                {
                    transporter = transporterManager.GetToRepairWorker() as Transporter;
                    if (transporter == null)
                    {
                        continue;
                    }
                    repairUpdateTime = DateTime.UtcNow.AddMilliseconds(RepairSpeed);

                    Debug.WriteLine($"------------ Repairing BROKE repairName: {Name} transporter: {transporter.Name} Time: {DateTime.UtcNow}");
                }

                if (transporter != null)
                {
                    if (DateTime.UtcNow > repairUpdateTime)
                    {
                        transporter.Start();

                        var message = $"------------ Repairing START repairName: {Name} transporter: {transporter.Name} Time: {DateTime.UtcNow}";
                        Debug.WriteLine(message);

                        transporter      = null;
                        repairUpdateTime = DateTime.MaxValue;
                    }
                }

                Thread.Sleep(100);
            }
        }