コード例 #1
0
        /// <summary>
        /// Merchant Subwindow
        /// </summary>
        private void MerchantFields()
        {
            GUI.enabled = true;
            Merchant facMerchant = selectedObject.myFacilities[0] as Merchant;

            GUILayout.Space(4);
            if (GUILayout.Button("Add Resources", GUILayout.Width(100), GUILayout.Height(23)))
            {
                showResourceSelection = true;
            }
            GUILayout.Space(4);
            if (showResourceSelection)
            {
                resourceScrollPos = GUILayout.BeginScrollView(resourceScrollPos);
                {
                    if (GUILayout.Button("Cancel - No change", GUILayout.Height(23)))
                    {
                        showResourceSelection = false;
                    }


                    foreach (PartResourceDefinition availableResource in PartResourceLibrary.Instance.resourceDefinitions)
                    {
                        if (facMerchant.GetResource(availableResource.name) != null)
                        {
                            continue;
                        }

                        if (GUILayout.Button(availableResource.name, GUILayout.Height(23)))
                        {
                            facMerchant.AddResource(new TradedResource()
                            {
                                resource = availableResource
                            });
                            showResourceSelection = false;
                        }
                    }
                }
                GUILayout.EndScrollView();
            }
            else
            {
                var tradedResources = facMerchant.Resources;
                if (tradedResources.Count > 0)
                {
                    merchantScrollPos = GUILayout.BeginScrollView(merchantScrollPos);
                    {
                        foreach (TradedResource tradedResource in tradedResources)
                        {
                            GUILayout.BeginHorizontal();
                            {
                                if (GUILayout.Button("X", redButton, GUILayout.Width(18), GUILayout.Height(18)))
                                {
                                    facMerchant.RemoveResource(tradedResource);
                                }
                                GUILayout.Label("Name: ", GUILayout.Height(18));
                                GUILayout.Label(tradedResource.resource.name, LabelWhite, GUILayout.Height(18), GUILayout.Width(120));
                                GUILayout.Space(20);
                            }
                            GUILayout.EndHorizontal();
                            GUILayout.BeginHorizontal();
                            {
                                GUILayout.Label("Buying mult: ", GUILayout.Width(100), GUILayout.Height(18));
                                tradedResource.multiplierBuy = float.Parse(GUILayout.TextField(tradedResource.multiplierBuy.ToString(), 6, GUILayout.Width(50), GUILayout.Height(18)));
                                GUILayout.FlexibleSpace();
                                GUILayout.Label("can be bought: ", GUILayout.Width(110), GUILayout.Height(18));
                                tradedResource.canBeBought = GUILayout.Toggle(tradedResource.canBeBought, "buyable", GUILayout.Height(18));
                            }
                            GUILayout.EndHorizontal();
                            GUILayout.BeginHorizontal();
                            {
                                GUILayout.Label("Selling mult: ", GUILayout.Width(100), GUILayout.Height(18));
                                tradedResource.multiplierSell = float.Parse(GUILayout.TextField(tradedResource.multiplierSell.ToString(), 6, GUILayout.Width(50), GUILayout.Height(18)));
                                GUILayout.FlexibleSpace();
                                GUILayout.Label("can be sold: ", GUILayout.Width(110), GUILayout.Height(18));
                                tradedResource.canBeSold = GUILayout.Toggle(tradedResource.canBeSold, "sellable", GUILayout.Height(18));
                            }
                            GUILayout.EndHorizontal();
                            GUILayout.Space(12);
                        }
                    }
                    GUILayout.EndScrollView();
                }
            }
            GUILayout.FlexibleSpace();
        }