Пример #1
0
        private void Button_CloneSelected_Click(object sender, RoutedEventArgs e)
        {
            var selectedItem = ListView_TableTiles.SelectedItem as ListViewItemTableTile;

            if (selectedItem != null)
            {
                var fromXElement = TableTile.FromXElement(selectedItem.TableTile.ToXElement());
                if (fromXElement != null)
                {
                    fromXElement.Name = fromXElement.Name + string.Format(" {0}", DateTime.Now.Ticks);
                    App.TableTileManager.Add(fromXElement);
                    UpdateListView();
                }
            }
        }
Пример #2
0
    public void Init(List <Transform> _beforeShopWaypoints, List <Transform> _afterShopWaypoints, Sprite skin)
    {
        inventoryManager    = GameObject.Find("GameManager").GetComponent <InventoryManager>();
        beforeShopWaypoints = _beforeShopWaypoints;
        afterShopWaypoints  = _afterShopWaypoints;

        willShop = Random.Range(0, 100) > 35;

        speed                      = Random.Range(1f, 2f);
        currentWaypoint            = 1;
        currentWaypointTransform   = beforeShopWaypoints[currentWaypoint];
        isUsingBeforeShopWaypoints = true;

        spriteRenderer        = GetComponent <SpriteRenderer>();
        spriteRenderer.color  = new Color(1, 1, 1, 0);
        transform.position    = beforeShopWaypoints[0].position;
        spriteRenderer.sprite = skin;
        StartCoroutine(FadeIn());

        // Find a shop
        GameObject[]     tiles          = GameObject.FindGameObjectsWithTag("BuildableTile");
        List <TableTile> availableTiles = new List <TableTile>();

        foreach (GameObject tile in tiles)
        {
            if (!tile.GetComponent <BuildableTile>().IsEmpty())
            {
                TableTile tableTile = tile.GetComponent <TableTile>();
                if (tableTile.GetItem() != null)
                {
                    availableTiles.Add(tableTile);
                }
            }
        }
        if (availableTiles.Count == 0)
        {
            willShop = false;
        }
        else
        {
            targetTable = availableTiles[Random.Range(0, availableTiles.Count)];
        }
    }
Пример #3
0
    private void Update()
    {
        if (Input.GetKeyDown(interactKey))
        {
            if (target == null)
            {
                return;
            }

            DirtTile dirt = target.GetComponent <DirtTile>();
            if (dirt != null)
            {
                dirt.Interact(crop, tool, this);
            }

            TableTile table = target.GetComponent <TableTile>();
            if (table != null)
            {
                table.Interact(crop, tool, this);
            }

            TrashCan trashCan = target.GetComponent <TrashCan>();
            if (trashCan != null)
            {
                trashCan.Interact(crop, tool, this);
            }

            Truck truck = target.GetComponent <Truck>();
            if (truck != null)
            {
                truck.Interact(crop, this);
            }

            SeedBarrel barrel = target.GetComponent <SeedBarrel>();
            if (barrel != null)
            {
                barrel.Interact(crop, tool, this);
            }
        }
    }
Пример #4
0
        public ListViewItemTableTile(TableTile tableTile)
        {
            TableTile = tableTile;

            StackPanel sp = new StackPanel {
                Orientation = Orientation.Horizontal
            };

            CheckBox checkBox = new CheckBox
            {
                Content   = "",
                IsChecked = TableTile.IsEnabled,
                Margin    = new Thickness(0, 0, 0, 0)
            };

            checkBox.Checked   += (sender, args) => TableTile.IsEnabled = true;
            checkBox.Unchecked += (sender, args) => TableTile.IsEnabled = false;

            Image image = new Image
            {
                Source = new BitmapImage(new Uri(string.Format(@"pack://application:,,,/Images/Resources/Size16x16/application_cascade.png"), UriKind.Absolute)),
                Width  = 16,
                Height = 16,
                Margin = new Thickness(5, 0, 0, 0)
            };

            Label label = new Label
            {
                Content = TableTile.Name,
                Padding = new Thickness(0),
                Margin  = new Thickness(5, 0, 0, 0)
            };

            sp.Children.Add(checkBox);
            sp.Children.Add(image);
            sp.Children.Add(label);
            Content = sp;
        }
Пример #5
0
        private void Button_RestoreDefaults_Click(object sender, RoutedEventArgs e)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("Do you want to restore default table tile configs?");
            sb.AppendLine("This will overwrite only default named table tile configs.");
            sb.AppendLine("Custom table tile cofigs will remain untouched.");
            sb.AppendLine();
            sb.AppendLine("Default table tile configs:");
            sb.AppendLine();
            List <TableTile> defaultTableTiles = TableTile.GetDefaultValues().ToList();

            foreach (TableTile tableTile in defaultTableTiles)
            {
                sb.AppendLine("     " + tableTile.Name);
            }

            WindowMessageResult windowMessageResult = WindowMessage.ShowDialog(
                sb.ToString(),
                "Restore Default Table Tile Configs",
                WindowMessageButtons.YesNoCancel,
                WindowMessageImage.Warning,
                App.WindowMain);

            if (windowMessageResult == WindowMessageResult.Yes)
            {
                foreach (TableTile tableTile in App.TableTileManager.GetTableTilesCopy())
                {
                    if (!defaultTableTiles.Any(a => a.Name.Equals(tableTile.Name)))
                    {
                        defaultTableTiles.Add(tableTile);
                    }
                }
                App.TableTileManager.RemoveAll();
                App.TableTileManager.Add(defaultTableTiles);
                UpdateListView();
            }
        }
Пример #6
0
        public void UpdateListView(TableTile tableTileToSelect = null)
        {
            var listView = ListView_TableTiles;

            listView.Items.Clear();
            foreach (var tableTile in App.TableTileManager.GetTableTilesCopy())
            {
                listView.Items.Add(new ListViewItemTableTile(tableTile));
            }

            if (tableTileToSelect != null)
            {
                foreach (var item in listView.Items)
                {
                    if (((ListViewItemTableTile)item).TableTile.Name.Equals(tableTileToSelect.Name))
                    {
                        listView.SelectedItem = item;
                        break;
                    }
                }
            }

            GridView_Name.ResetColumnWidths();
        }
Пример #7
0
 void Start()
 {
     GetComponent <MeshRenderer>().enabled = false;
     parent    = transform.parent.GetComponent <BuildableTile>();
     tableTile = transform.parent.GetComponent <TableTile>();
 }