Exemplo n.º 1
0
        private void ProcessSide(ModTileEntity tileEntity, Side side, Side machineSide, ref long usedEnergy)
        {
            EnergyReceiver energyReceiver;

            if (tileEntity is EnergyReceiver)
            {
                energyReceiver = tileEntity as EnergyReceiver;
                if ((energyReceiver.CanConnect(machineSide) && !IO[side]) || energyReceiver is ExampleWireTileEntity)
                {
                    usedEnergy += SendEnergy(energyReceiver, storage.MaxTransfer - storage.GetCurrentEnergy(), side);
                }
            }
        }
        /// <summary>
        /// Generate energy as long the generator is not full.
        /// If it's on server the timer will go on and sync the data every time it reach 0
        /// </summary>
        public override void Update()
        {
            try
            {
                if (EnergyContainer.GetCurrentEnergy() != EnergyContainer.MaxEnergy)
                {
                    this.EnergyContainer.ReceiveEnergy(4);
                }

                if (Main.netMode == NetmodeID.Server)
                {
                    updateTimer--;

                    if (updateTimer <= 0)
                    {
                        NetMessage.SendData(MessageID.TileEntitySharing, -1, -1, null, ID);
                        updateTimer = 3;
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }
Exemplo n.º 3
0
 public long GetEnergyStored(Tile tile)
 {
     return(storage.GetCurrentEnergy());
 }