Ejemplo n.º 1
0
        public bool ChangeReceiverChannel(WirelessPowerReceiver receiver, int channel)
        {
            if (!this.receivers.ContainsKey(receiver))
            {
                return(false);
            }

            int receiverChannel = this.receivers[receiver];

            this.receivers[receiver] = channel;
            this.UpdateBatteriesOnChannel(receiverChannel);
            return(true);
        }
Ejemplo n.º 2
0
        public bool RegisterReceiver(WirelessPowerReceiver receiver, int channel)
        {
            if (receiver == null || channel <= 0)
            {
                return(false);
            }
            if (this.receivers.ContainsKey(receiver))
            {
                return(false);
            }

            this.receivers.Add(receiver, channel);
            this.UpdateBatteriesOnChannel(channel);
            return(true);
        }
Ejemplo n.º 3
0
        public bool UnregisterReceiver(WirelessPowerReceiver receiver)
        {
            if (!this.receivers.ContainsKey(receiver))
            {
                return(false);
            }

            int receiverChannel = this.receivers[receiver];

            if (!this.receivers.Remove(receiver))
            {
                return(false);
            }

            this.UpdateBatteriesOnChannel(receiverChannel);
            return(true);
        }
Ejemplo n.º 4
0
        public bool ReceiveEnergyFromGrid(WirelessPowerReceiver receiver, float joules, float percentFull, float dt)
        {
            if (!this.receivers.ContainsKey(receiver))
            {
                return(false);
            }

            //check if batteries have energy;
            int channel = this.receivers[receiver];
            Dictionary <WirelessPowerBattery, float> energyToTake = this.GridHasCapacity(-joules, channel, percentFull);

            if (energyToTake.Count == 0)
            {
                return(false);
            }

            //Take energy from batteries;
            foreach (WirelessPowerBattery b in energyToTake.Keys)
            {
                b.ConsumeEnergy(energyToTake[b], dt);
            }
            return(true);
        }