예제 #1
0
        public void SendBlock(IBlock Block)
        {
            switch (Block.Type)
            {
            case BlockType.SimpleBlock:
                SimpleBlock sb = Block as SimpleBlock;
                Send(WorldMap.Key, 0, Block.Position.X, Block.Position.Y, Block.ID);
                break;

            case BlockType.BackgroundBlock:
                BackgroundBlock bb = Block as BackgroundBlock;
                Send(WorldMap.Key, 1, Block.Position.X, Block.Position.Y, Block.ID);
                break;

            case BlockType.RotatableBlock:
                RotatableBlock rb = Block as RotatableBlock;
                Send(WorldMap.Key, 0, Block.Position.X, Block.Position.Y, Block.ID, (int)rb.Rotation);
                break;

            case BlockType.ValuedBlock:
                ValuedBlock vb = Block as ValuedBlock;
                Send(WorldMap.Key, 0, Block.Position.X, Block.Position.Y, Block.ID, vb.Value);
                break;

            case BlockType.PortalBlock:
                PortalBlock pb = Block as PortalBlock;
                Send(WorldMap.Key, 0, Block.Position.X, Block.Position.Y, Block.ID, (int)pb.Rotation, pb.Identificator, pb.Target);
                break;
            }
        }
예제 #2
0
        public override bool Equals(System.Object Obj)
        {
            if (Obj == null)
            {
                return(false);
            }

            ValuedBlock Block = Obj as ValuedBlock;

            if ((System.Object)Block == null)
            {
                return(false);
            }

            return(this == Block);
        }
예제 #3
0
 public bool IsSameAs(IBlock Block)
 {
     if (this.Type == Block.Type)
     {
         ValuedBlock VBlock = Block as ValuedBlock;
         if (VBlock == this)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         return(false);
     }
 }