Exemple #1
0
        public static void Close(PersistentContainerInterface containerInterface, UniversalCoords coords)
        {
            PersistentContainer container = Instance(containerInterface.World, coords);

            if (container == null)
            {
                return;
            }
            container.RemoveInterface(containerInterface);
            Chunk chunk = container.World.GetChunk(coords) as Chunk;

            if (chunk == null)
            {
                return;
            }
            PersistentContainer unused;

            if (container is LargeChestContainer && container.IsUnused())
            {
                chunk.Containers.TryRemove(container.Coords.BlockPackedCoords, out unused);
                chunk.Containers.TryRemove((container as LargeChestContainer).SecondCoords.BlockPackedCoords, out unused);
            }
            else if (container is SmallChestContainer && container.IsUnused())
            {
                chunk.Containers.TryRemove(container.Coords.BlockPackedCoords, out unused);
            }
        }
Exemple #2
0
 public virtual void RemoveInterface(PersistentContainerInterface containerInterface)
 {
     lock (_containerLock)
     {
         Save();
         Interfaces.Remove(containerInterface);
     }
 }
Exemple #3
0
 public virtual void AddInterface(PersistentContainerInterface containerInterface)
 {
     lock (_containerLock)
     {
         if (!Interfaces.Contains(containerInterface))
         {
             containerInterface.Container = this;
             Interfaces.Add(containerInterface);
         }
     }
 }
        public override void AddInterface(PersistentContainerInterface containerInterface)
        {
            base.AddInterface(containerInterface);
            FurnaceInterface fi = containerInterface as FurnaceInterface;

            if (fi == null)
            {
                return;
            }
            if (IsBurning)
            {
                double fuelTickCost = ((double)(_fuelTicksFull)) / FullFire;
                short  fireLevel    = (short)(_fuelTicksLeft / fuelTickCost);
                fi.SendUpdateProgressBar(FurnaceBar.Progress, _progressTicks);
                fi.SendUpdateProgressBar(FurnaceBar.Fire, fireLevel);
            }
        }
Exemple #5
0
 public static void Close(PersistentContainerInterface containerInterface, UniversalCoords coords)
 {
     PersistentContainer container = Instance(containerInterface.World, coords);
     if (container == null)
         return;
     container.RemoveInterface(containerInterface);
     Chunk chunk = container.World.GetChunk(coords);
     if (chunk == null)
         return;
     PersistentContainer unused;
     if (container is LargeChestContainer && container.IsUnused())
     {
         chunk.Containers.TryRemove(container.Coords.BlockPackedCoords, out unused);
         chunk.Containers.TryRemove((container as LargeChestContainer).SecondCoords.BlockPackedCoords, out unused);
     } else if (container is SmallChestContainer && container.IsUnused())
         chunk.Containers.TryRemove(container.Coords.BlockPackedCoords, out unused);
 }
Exemple #6
0
 public virtual void RemoveInterface(PersistentContainerInterface containerInterface)
 {
     lock (_containerLock)
     {
         Save();
         Interfaces.Remove(containerInterface);
     }
 }
Exemple #7
0
 public virtual void AddInterface(PersistentContainerInterface containerInterface)
 {
     lock (_containerLock)
     {
         if (!Interfaces.Contains(containerInterface))
         {
             containerInterface.Container = this;
             Interfaces.Add(containerInterface);
         }
     }
 }
Exemple #8
0
 public override void AddInterface(PersistentContainerInterface containerInterface)
 {
     base.AddInterface(containerInterface);
     FurnaceInterface fi = containerInterface as FurnaceInterface;
     if (fi == null)
         return;
     if (IsBurning)
     {
         double fuelTickCost = ((double) (_fuelTicksFull))/FullFire;
         short fireLevel = (short) (_fuelTicksLeft/fuelTickCost);
         fi.SendUpdateProgressBar(FurnaceBar.Progress, _progressTicks);
         fi.SendUpdateProgressBar(FurnaceBar.Fire, fireLevel);
     }
 }