Exemplo n.º 1
0
        protected override IGameModelObject Create()
        {
            IGameModelObject modelObject = objectArea[RowIndex, ColumnIndex];
            bool             canDelete   = false;
            string           name        = objectArea[RowIndex, ColumnIndex].Name;

            if (name == Pipe.Name || name == Source.Name)
            {
                foreach (var neighbor in tileArea[RowIndex, ColumnIndex].Neighbors)
                {
                    if (objectArea[neighbor.X, neighbor.Y].Name == Pipe.Name)
                    {
                        Point notInclude = tileArea[RowIndex, ColumnIndex].Position;
                        if (IsNeighborSource(neighbor, notInclude))
                        {
                            canDelete = true;
                        }
                        else
                        {
                            canDelete = false;
                            break;
                        }
                    }
                    else
                    {
                        canDelete = true;
                    }
                }
            }
            if (canDelete)
            {
                modelObject = new Empty();
            }
            return(modelObject);
        }
Exemplo n.º 2
0
        private static bool IsFilledPipe(IGameModelObject gameObject)
        {
            bool isFilledPipe = false;

            if (gameObject is Pipe pipe)
            {
                isFilledPipe = pipe.IsFilled;
            }
            return(isFilledPipe);
        }
Exemplo n.º 3
0
        protected override IGameModelObject Create()
        {
            IGameModelObject newObject = null;

            foreach (var neightbor in tileArea[RowIndex, ColumnIndex].Neighbors)
            {
                string name = objectArea[neightbor.X, neightbor.Y].Name;
                if (name == Source.Name || name == Pipe.Name)
                {
                    newObject = new Pipe();
                    break;
                }
            }
            if (newObject == null)
            {
                newObject = objectArea[RowIndex, ColumnIndex];
            }
            return(newObject);
        }
Exemplo n.º 4
0
 private static bool IsSource(IGameModelObject gameObject)
 {
     return(gameObject is Source);
 }