コード例 #1
0
        private void UpdateCargoContainer(ref ProgressBarGame progressBar, CargoBayGroup cargoBays, string name, Color color)
        {
            double damagePercent         = 0d;
            Tuple <double, double> cargo = null;

            if (cargoBays != null)
            {
                cargo         = cargoBays.CargoVolume;
                damagePercent = cargoBays.DamagePercent;
            }

            if (cargo != null && cargo.Item2 > 0d)
            {
                if (progressBar != null)
                {
                    progressBar.Maximum        = cargo.Item2;
                    progressBar.Value          = cargo.Item1;
                    progressBar.DamagedPercent = damagePercent;
                }
                else
                {
                    progressBar = CreateProgressBar(cargo.Item1, cargo.Item2, damagePercent, name, color);
                }
            }
            else if (progressBar != null)
            {
                _panel.Children.Remove(progressBar);
                progressBar = null;
            }
        }
コード例 #2
0
        public LifeEventWatcher(BotConstruction_Containers containers)
        {
            List <ContainerTracker> standardContainers = new List <ContainerTracker>();

            //TODO: Add more
            if (containers.PlasmaGroup != null)
            {
                standardContainers.Add(new ContainerTracker(containers.PlasmaGroup, null, LifeEventType.LostPlasma));
            }

            _standardContainers = standardContainers.ToArray();

            _cargoBay = containers.CargoBayGroup;
            if (_cargoBay != null)
            {
                _prevCargo = _cargoBay.CargoVolume.Item1;
            }
        }