public void ChangeMode(ChargeMode chargeMode)
 {
     foreach (IMyBatteryBlock batteryBlock in _batteryBlocks)
     {
         batteryBlock.ChargeMode = chargeMode;
     }
 }
Exemplo n.º 2
0
 public Charge(IMyBatteryBlock battery, string description = "") : base(description)
 {
     Current     = battery.CurrentStoredPower;
     Max         = battery.MaxStoredPower;
     IsCharnging = battery.IsCharging;
     ChargeMode  = battery.ChargeMode;
     DefaultUnit = "MWh";
 }
Exemplo n.º 3
0
 public static bool ChargeModePatchMethod(MyBatteryBlock __instance, ChargeMode value)
 {
     if (!Enum.IsDefined(typeof(ChargeMode), value))
     {
         return(false);
     }
     return(true);
 }
Exemplo n.º 4
0
        public CombinationChargeData SearchChargesByMengzhu(PayType[] payTypes, ChargeMode[] chargeModes, DateTime startTime, DateTime endTime , bool isTimeRangeRequired, long lastId)
        {
            var result = new CombinationChargeData();
            using (var db = DbContextFactory.CreateDbContext())
            {
                
               
                IQueryable<Charge> charges = db.Charges.Include(a => a.TargetXiake).Include(a=>a.Handler).OrderByDescending(a => a.Id);

                if (lastId != 0)
                {
                    charges = charges.Where(a => a.Id < lastId);
                }

                charges = charges.Where(a => payTypes.Contains(a.PayType));
                charges = charges.Where(a => chargeModes.Contains(a.ChargeMode));

                if (isTimeRangeRequired)
                {

                    charges = charges.Where(a => a.CreateTime >= startTime && a.CreateTime <= endTime);

                }
                if (lastId == 0)
                {
                    result.TotalCount = charges.Count();
                }

                charges = charges.Take(DomainDefinition.PAGE_SIZE);
                foreach (Charge dp in charges)
                {
                    var x = new  ChargeData()
                    {
                        ID = dp.Id,
                        ChargeTime = dp.CreateTime,
                        ChargeMode = dp.ChargeMode,
                        Comments = dp.Comments,
                        Handler = dp.Handler.XiakeName,
                        PayType = dp.PayType,
                        Value = dp.Value,


                    };
                    result.Items .Add(x);
                }
                if (result.Items .Count < DomainDefinition.PAGE_SIZE)
                {
                    result.IsLoadedAllData = true;
                }


            }
            return result;
        }
Exemplo n.º 5
0
 public CombinationChargeData SearchChargesByMengzhu (PayType[] payTypes,
     ChargeMode[] chargeModes,
     DateTime startTime,
     DateTime endTime,
     bool isTimeRangeRequired,
     long lastId)
 {
     lock (LockObject)
     {
         Init();
         return  mClient.Service.SearchChargesByMengzhu(payTypes, chargeModes,startTime,endTime,isTimeRangeRequired,lastId);
     }
 }
    public bool setChargeMode(ChargeMode mode)
    {
        bool result = true;

        foreach (IMyBatteryBlock battery in m_blocks.blocks())
        {
            if (battery.ChargeMode != mode)
            {
                battery.ChargeMode = mode;
            }
            result = result && battery.ChargeMode == mode;
        }
        return(result);
    }
 private static bool SetChargeModePatch(ref ChargeMode value)
 {
     return(Enum.IsDefined(typeof(ChargeMode), value));
 }
Exemplo n.º 8
0
            void drawSingleBattery(Vector2 position, float scale, float capacity, float load, bool onoff, ChargeMode chargeMode, AddSpriteDelegate addSprite)
            {
                float borderSize     = 8f * scale;
                float capacityBorder = borderSize * 0.5f;

                Vector2 poleSize         = new Vector2(batterySize_.X * 0.5f, 10f) * scale;
                Vector2 backgroundSize   = new Vector2(batterySize_.X * scale, (batterySize_.Y * scale) - poleSize.Y);
                Vector2 InnerSectionSize = backgroundSize - borderSize;

                Color borderColor = onoff == false ? borderColors_[0] :
                                    (chargeMode == ChargeMode.Recharge ? borderColors_[3] :
                                     (chargeMode == ChargeMode.Discharge ? borderColors_[4] :
                                      (load <= 0f ? borderColors_[1] : borderColors_[2])));

                // draw plus pole
                addSprite(new MySprite(SpriteType.TEXTURE, IconNameSquareSimple,
                                       new Vector2(position.X, position.Y - backgroundSize.Y * 0.5f),
                                       poleSize, borderColor));

                // draw background
                addSprite(new MySprite(SpriteType.TEXTURE, IconNameSquareSimple,
                                       new Vector2(position.X, position.Y + poleSize.Y * 0.5f),
                                       backgroundSize, borderColor));

                // draw inner section
                addSprite(new MySprite(SpriteType.TEXTURE, IconNameSquareSimple,
                                       new Vector2(position.X, position.Y + poleSize.Y * 0.5f),
                                       InnerSectionSize, Template.BackgroundColor));

                // react on on/off state
                if (onoff == true)
                {
                    // draw capacity marker
                    Vector2 capacitySize = new Vector2(InnerSectionSize.X - capacityBorder * 2f,
                                                       (InnerSectionSize.Y - (capacityBorder * (capacitySegments_ + 1f))) / capacitySegments_);
                    float capacityYOffset   = capacitySize.Y + capacityBorder;
                    float capacityYPosition = position.Y + (poleSize.Y + InnerSectionSize.Y - capacitySize.Y) * 0.5f - capacityBorder;

                    for (int s = 0; s < 6; s++)
                    {
                        float lerp = (1f / capacitySegments_) * s;
                        if (capacity <= lerp)
                        {
                            break;
                        }

                        addSprite(new MySprite(SpriteType.TEXTURE, IconNameSquareSimple,
                                               new Vector2(position.X, capacityYPosition - (capacityYOffset * s)),
                                               capacitySize, Color.Lerp(barColors_[0], barColors_[1], lerp)));
                    }

                    if (chargeMode == ChargeMode.Recharge)
                    {
                        drawChargeModeIndicator(addSprite, new Vector2(position.X, position.Y + poleSize.Y * 0.5f),
                                                InnerSectionSize.X * 1.3f, (float)(Math.PI * 1.5), borderColor);
                    }
                    else if (chargeMode == ChargeMode.Discharge)
                    {
                        drawChargeModeIndicator(addSprite, new Vector2(position.X, position.Y + poleSize.Y * 0.5f),
                                                InnerSectionSize.X * 1.3f, (float)(Math.PI * 0.5), borderColor);
                    }
                }
                else
                {
                    addSprite(new MySprite(SpriteType.TEXTURE, "Cross",
                                           new Vector2(position.X, position.Y + poleSize.Y * 0.5f),
                                           new Vector2(InnerSectionSize.X, InnerSectionSize.X) * 0.9f,
                                           Color.Red));
                }
            }