/// <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(); }