Exemplo n.º 1
0
 public override void Apply(Simulation Sim, WorldSceneNode WorldNode)
 {
     if (Sim.World.Check(WorldNode.HoverBlock))
     {
         Sim.AddTask(new Tasks.Mine(WorldNode.HoverBlock));
     }
 }
Exemplo n.º 2
0
 public override void Apply(Simulation Sim, WorldSceneNode WorldNode)
 {
     if (Sim.World.Check(WorldNode.HoverBlock))
     {
         var cell = Sim.World.CellAt(WorldNode.HoverBlock);
         cell.SetFlag(CellFlags.Storehouse, true);
         Sim.SetUpdateFlag(WorldNode.HoverBlock);
     }
 }
Exemplo n.º 3
0
        public override void Apply(Simulation Sim, WorldSceneNode WorldNode)
        {
            if (SelectedBlock == null) return;

            if (Sim.World.Check(WorldNode.AdjacentHoverBlock))
            {
                var cell = Sim.World.CellAt(WorldNode.AdjacentHoverBlock);
                if (cell.Block != null) return;
                cell.Block = Sim.Blocks.Templates["Scaffold"];
                cell.BlockOrientation = CellLink.Directions.North;

                if (SelectedBlock.Orientable)
                    cell.BlockOrientation = CellLink.DeriveDirectionFromNormal(WorldNode.HoverNormal);

                Sim.AddTask(new Tasks.Build(SelectedBlock, WorldNode.AdjacentHoverBlock));
            }
        }