Skip to content

Commit

Permalink
Open settings directly to resource colors; many bug fixes;
Browse files Browse the repository at this point in the history
  • Loading branch information
DMagic1 committed Aug 15, 2020
1 parent 3fea0b4 commit 64124cc
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 11 deletions.
27 changes: 25 additions & 2 deletions SCANsat.Unity/Unity/SCAN_ColorControl.cs
Expand Up @@ -40,15 +40,38 @@ public class SCAN_ColorControl : SettingsPage

private SettingsPage currentPage;

public void setup(ISCAN_Settings settings, ISCAN_Color color)
public bool IsResourcePage(string body, string resource)
{
if (currentPage != null)
{
if (currentPage is SCAN_ColorResource)
{
if (colorInterface != null)
{
if (colorInterface.ResourcePlanet == body)
{
if (colorInterface.ResourceCurrent == resource)
return true;
}
}
}
}

return false;
}

public void setup(ISCAN_Settings settings, ISCAN_Color color, bool resource)
{
if (settings == null || color == null)
return;

settingsInterface = settings;
colorInterface = color;

AltimetrySettings(true);
if (resource)
ResourceSettings(true);
else
AltimetrySettings(true);
}

public override void OnPointerDown(PointerEventData eventData)
Expand Down
6 changes: 6 additions & 0 deletions SCANsat.Unity/Unity/SCAN_ColorResource.cs
Expand Up @@ -114,9 +114,15 @@ private void SetUI(bool color = true)
if (m_MinSlider != null)
m_MinSlider.value = colorInterface.ResourceMin;

if (m_MinText != null)
m_MinText.OnTextUpdate.Invoke(string.Format("Min: {0}%", colorInterface.ResourceMin.ToString("N2")));

if (m_MaxSlider != null)
m_MaxSlider.value = colorInterface.ResourceMax;

if (m_MaxText != null)
m_MaxText.OnTextUpdate.Invoke(string.Format("Max: {0}%", colorInterface.ResourceMax.ToString("N2")));

if (m_TransSlider != null)
m_TransSlider.value = colorInterface.ResourceTransparency;

Expand Down
19 changes: 17 additions & 2 deletions SCANsat.Unity/Unity/SCAN_Settings.cs
Expand Up @@ -58,6 +58,7 @@ public class SCAN_Settings : CanvasFader, IDragHandler, IBeginDragHandler, IEndD
private Vector2 mouseStart;
private Vector3 windowStart;
private int _page;
private bool _forceResource;

private SettingsPage CurrentPage;
private SCAN_Popup warningPopup;
Expand Down Expand Up @@ -97,6 +98,19 @@ public SCAN_DropDown DropDown
set { dropDown = value; }
}

public bool IsCurrentResourceActive(string body, string resource)
{
if (CurrentPage != null)
{
if (CurrentPage is SCAN_ColorControl)
{
return ((SCAN_ColorControl)CurrentPage).IsResourcePage(body, resource);
}
}

return false;
}

public void ClearWarningsAndDropDown()
{
if (dropDown != null)
Expand Down Expand Up @@ -133,7 +147,7 @@ private void Update()
settingsInterface.Update();
}

public void setSettings(ISCAN_Settings settings, int page)
public void setSettings(ISCAN_Settings settings, int page, bool resource)
{
if (settings == null)
return;
Expand All @@ -144,6 +158,7 @@ public void setSettings(ISCAN_Settings settings, int page)
m_Version.OnTextUpdate.Invoke(settings.Version);

_page = page;
_forceResource = resource;

switch (page)
{
Expand Down Expand Up @@ -469,7 +484,7 @@ public void ColorSettings(bool isOn)

CurrentPage.transform.SetParent(m_ContentTransform, false);

((SCAN_ColorControl)CurrentPage).setup(settingsInterface, settingsInterface.ColorInterface);
((SCAN_ColorControl)CurrentPage).setup(settingsInterface, settingsInterface.ColorInterface, _forceResource);

ProcessTooltips();

Expand Down
50 changes: 45 additions & 5 deletions SCANsat/SCAN_Unity/SCAN_UI_Color.cs
Expand Up @@ -59,7 +59,6 @@ public static SCAN_UI_Color Instance
get { return instance; }
}


private float _unscannedTransparency;
private float _backgroundTransparency;
private float _biomeTransparency;
Expand Down Expand Up @@ -87,6 +86,8 @@ public SCAN_UI_Color()
else if (HighLogic.LoadedSceneIsFlight)
_resourcePlanet = FlightGlobals.currentMainBody.bodyName;

loadedResources = SCANcontroller.setLoadedResourceList();

_terrainPlanet = _resourcePlanet;
}

Expand All @@ -101,8 +102,12 @@ public void Refresh()

_slopeCutoff = SCAN_Settings_Config.Instance.SlopeCutoff;

loadedResources = SCANcontroller.setLoadedResourceList();
currentResource = new SCANresourceGlobal(loadedResources[0]);
//loadedResources = SCANcontroller.setLoadedResourceList();

if (currentResource == null || currentResource.CurrentBody == null || currentResource.CurrentBody.Body.bodyName != _resourcePlanet)
{
currentResource = new SCANresourceGlobal(loadedResources[0]);
}

if (currentResource != null)
{
Expand All @@ -112,7 +117,7 @@ public void Refresh()
_resourceMax = currentResource.CurrentBody.MaxValue;
_resourceTransparency = currentResource.Transparency;
}

currentTerrain = SCANcontroller.getTerrainNode(_terrainPlanet);

if (currentTerrain != null)
Expand Down Expand Up @@ -160,7 +165,7 @@ public string ResourceCurrent
{
_resourceCurrent = value;

if (currentResource.DisplayName != value)
if (currentResource == null || currentResource.DisplayName != value)
{
for (int i = loadedResources.Count - 1; i >= 0; i--)
{
Expand Down Expand Up @@ -756,6 +761,9 @@ public void ResourceApply(Color one, Color two)

if (SCAN_UI_ZoomMap.Instance != null && SCAN_UI_ZoomMap.Instance.IsVisible && SCAN_UI_ZoomMap.Instance.ResourceToggle)
SCAN_UI_ZoomMap.Instance.RefreshMap();

if (SCANcontroller.controller.overlaySelection == 2 && SCAN_UI_Overlay.Instance != null && SCAN_UI_Overlay.Instance.DrawOverlay)
SCAN_UI_Overlay.Instance.Refresh();
}

public void ResourceApplyToAll(Color one, Color two)
Expand All @@ -773,6 +781,9 @@ public void ResourceApplyToAll(Color one, Color two)

if (SCAN_UI_ZoomMap.Instance != null && SCAN_UI_ZoomMap.Instance.IsVisible && SCAN_UI_ZoomMap.Instance.ResourceToggle)
SCAN_UI_ZoomMap.Instance.RefreshMap();

if (SCANcontroller.controller.overlaySelection == 2 && SCAN_UI_Overlay.Instance != null && SCAN_UI_Overlay.Instance.DrawOverlay)
SCAN_UI_Overlay.Instance.Refresh();
}

public void ResourceDefault()
Expand All @@ -783,10 +794,20 @@ public void ResourceDefault()
currentResource.MaxColor = currentResource.DefaultHighColor;
currentResource.Transparency = currentResource.DefaultTrans;

_resourceMin = currentResource.CurrentBody.MinValue;
_resourceMax = currentResource.CurrentBody.MaxValue;
_resourceTransparency = currentResource.Transparency;

SCANcontroller.updateSCANresource(currentResource, false);

if (SCAN_UI_BigMap.Instance != null && SCAN_UI_BigMap.Instance.IsVisible && SCAN_UI_BigMap.Instance.ResourceToggle)
SCAN_UI_BigMap.Instance.RefreshMap();

if (SCAN_UI_ZoomMap.Instance != null && SCAN_UI_ZoomMap.Instance.IsVisible && SCAN_UI_ZoomMap.Instance.ResourceToggle)
SCAN_UI_ZoomMap.Instance.RefreshMap();

if (SCANcontroller.controller.overlaySelection == 2 && SCAN_UI_Overlay.Instance != null && SCAN_UI_Overlay.Instance.DrawOverlay)
SCAN_UI_Overlay.Instance.Refresh();
}

public void ResourceDefaultToAll()
Expand All @@ -797,13 +818,20 @@ public void ResourceDefaultToAll()
currentResource.MaxColor = currentResource.DefaultHighColor;
currentResource.Transparency = currentResource.DefaultTrans;

_resourceMin = currentResource.CurrentBody.MinValue;
_resourceMax = currentResource.CurrentBody.MaxValue;
_resourceTransparency = currentResource.Transparency;

SCANcontroller.updateSCANresource(currentResource, true);

if (SCAN_UI_BigMap.Instance != null && SCAN_UI_BigMap.Instance.IsVisible && SCAN_UI_BigMap.Instance.ResourceToggle)
SCAN_UI_BigMap.Instance.RefreshMap();

if (SCAN_UI_ZoomMap.Instance != null && SCAN_UI_ZoomMap.Instance.IsVisible && SCAN_UI_ZoomMap.Instance.ResourceToggle)
SCAN_UI_ZoomMap.Instance.RefreshMap();

if (SCANcontroller.controller.overlaySelection == 2 && SCAN_UI_Overlay.Instance != null && SCAN_UI_Overlay.Instance.DrawOverlay)
SCAN_UI_Overlay.Instance.Refresh();
}

public void ResourceSaveToConfig(Color one, Color two)
Expand All @@ -822,6 +850,9 @@ public void ResourceSaveToConfig(Color one, Color two)
if (SCAN_UI_ZoomMap.Instance != null && SCAN_UI_ZoomMap.Instance.IsVisible && SCAN_UI_ZoomMap.Instance.ResourceToggle)
SCAN_UI_ZoomMap.Instance.RefreshMap();

if (SCANcontroller.controller.overlaySelection == 2 && SCAN_UI_Overlay.Instance != null && SCAN_UI_Overlay.Instance.DrawOverlay)
SCAN_UI_Overlay.Instance.Refresh();

SCANconfigLoader.SCANNode.Save();
}

Expand All @@ -846,6 +877,9 @@ public void TerrainApply()

if (SCAN_UI_ZoomMap.Instance != null && SCAN_UI_ZoomMap.Instance.IsVisible && SCAN_UI_ZoomMap.Instance.CurrentMapType == "Altimetry")
SCAN_UI_ZoomMap.Instance.RefreshMap();

if (SCANcontroller.controller.overlaySelection == 1 && SCAN_UI_Overlay.Instance != null && SCAN_UI_Overlay.Instance.DrawOverlay)
SCAN_UI_Overlay.Instance.Refresh();
}

public void TerrainDefault()
Expand All @@ -870,6 +904,9 @@ public void TerrainDefault()

if (SCAN_UI_ZoomMap.Instance != null && SCAN_UI_ZoomMap.Instance.IsVisible && SCAN_UI_ZoomMap.Instance.CurrentMapType == "Altimetry")
SCAN_UI_ZoomMap.Instance.RefreshMap();

if (SCANcontroller.controller.overlaySelection == 1 && SCAN_UI_Overlay.Instance != null && SCAN_UI_Overlay.Instance.DrawOverlay)
SCAN_UI_Overlay.Instance.Refresh();
}

public void TerrainSaveToConfig()
Expand All @@ -893,6 +930,9 @@ public void TerrainSaveToConfig()

if (SCAN_UI_ZoomMap.Instance != null && SCAN_UI_ZoomMap.Instance.IsVisible && SCAN_UI_ZoomMap.Instance.CurrentMapType == "Altimetry")
SCAN_UI_ZoomMap.Instance.RefreshMap();

if (SCANcontroller.controller.overlaySelection == 1 && SCAN_UI_Overlay.Instance != null && SCAN_UI_Overlay.Instance.DrawOverlay)
SCAN_UI_Overlay.Instance.Refresh();
}
}
}
20 changes: 18 additions & 2 deletions SCANsat/SCAN_Unity/SCAN_UI_Settings.cs
Expand Up @@ -69,6 +69,16 @@ public int Page
}
}

public bool IsCurrentResource(string body, string resource)
{
if (uiElement != null)
{
return uiElement.IsCurrentResourceActive(body, resource);
}

return false;
}

public void OnDestroy()
{
if (uiElement != null)
Expand All @@ -89,7 +99,7 @@ public void Update()
, SCANcontroller.controller.ActualPasses);
}

public void Open(int page = 0, bool savePosition = false)
public void Open(int page = 0, bool savePosition = false, bool forceResource = false)
{
if (uiElement != null)
{
Expand All @@ -104,7 +114,7 @@ public void Open(int page = 0, bool savePosition = false)

uiElement.transform.SetParent(UIMasterController.Instance.dialogCanvas.transform, false);

uiElement.setSettings(this, page);
uiElement.setSettings(this, page, forceResource);

if (!savePosition)
_position = new Vector2(0, 100);
Expand Down Expand Up @@ -534,6 +544,12 @@ public bool StockThreshold
set { SCAN_Settings_Config.Instance.UseStockTreshold = value; }
}

public bool HideZeroResources
{
get { return SCAN_Settings_Config.Instance.HideZeroResources; }
set { SCAN_Settings_Config.Instance.HideZeroResources = value; }
}

public bool GreyScale
{
get { return SCAN_Settings_Config.Instance.TrueGreyScale; }
Expand Down

0 comments on commit 64124cc

Please sign in to comment.