private void loadSprites() { Texture2D twr = GameDatabase.Instance.GetTexture("BasicDeltaV/Resources/TWRGauge", false); twrGaugeSprite = Sprite.Create(twr, new Rect(0, 0, twr.width, twr.height), new Vector2(0.5f, 0.5f)); ContractsApp prefab = null; var prefabs = Resources.FindObjectsOfTypeAll <ContractsApp>(); for (int i = prefabs.Length - 1; i >= 0; i--) { var pre = prefabs[i]; if (pre.name != "ContractsApp") { continue; } prefab = pre; break; } if (prefab == null) { return; } GenericAppFrame appFrame = null; GenericCascadingList cascadingList = null; UIListItem_spacer spacer = null; try { var fields = typeof(ContractsApp).GetFields(BindingFlags.NonPublic | BindingFlags.Instance).ToArray(); appFrame = fields[7].GetValue(prefab) as GenericAppFrame; cascadingList = fields[9].GetValue(prefab) as GenericCascadingList; spacer = fields[11].GetValue(prefab) as UIListItem_spacer; } catch (Exception e) { BasicDeltaV.BasicLogging("Error in processing toolbar panel UI: {0}", e); } if (appFrame != null) { windowSprite = appFrame.gfxBg.sprite; titleSprite = appFrame.gfxHeader.sprite; footerSprite = appFrame.gfxFooter.sprite; } if (cascadingList != null) { buttonSprite = cascadingList.cascadeHeader.GetComponent <Image>().sprite; contentFooterSprite = cascadingList.cascadeFooter.GetComponent <Image>().sprite; } if (spacer != null) { componentSprite = spacer.GetComponent <Image>().sprite; UIStateImage stateImage = spacer.GetComponentInChildren <UIStateImage>(); selectedSprite = stateImage.states[1].sprite; unselectedSprite = stateImage.states[0].sprite; } spritesLoaded = true; }
private void loadSprites() { ContractsApp prefab = null; var prefabs = Resources.FindObjectsOfTypeAll <ContractsApp>(); for (int i = prefabs.Length - 1; i >= 0; i--) { var pre = prefabs[i]; if (pre.name != "ContractsApp") { continue; } prefab = pre; break; } if (prefab != null) { GenericAppFrame appFrame = null; GenericCascadingList cascadingList = null; UIListItem_spacer spacer = null; try { var fields = typeof(ContractsApp).GetFields(BindingFlags.NonPublic | BindingFlags.Instance).ToArray(); appFrame = fields[7].GetValue(prefab) as GenericAppFrame; cascadingList = fields[9].GetValue(prefab) as GenericCascadingList; spacer = fields[11].GetValue(prefab) as UIListItem_spacer; } catch (Exception e) { BasicOrbit.BasicLogging("Error in processing toolbar panel UI: {0}", e); } if (appFrame != null) { windowSprite = appFrame.gfxBg.sprite; titleSprite = appFrame.gfxHeader.sprite; footerSprite = appFrame.gfxFooter.sprite; } if (cascadingList != null) { buttonSprite = cascadingList.cascadeHeader.GetComponent <Image>().sprite; contentFooterSprite = cascadingList.cascadeFooter.GetComponent <Image>().sprite; } if (spacer != null) { componentSprite = spacer.GetComponent <Image>().sprite; UIStateImage stateImage = spacer.GetComponentInChildren <UIStateImage>(); selectedSprite = stateImage.states[1].sprite; unselectedSprite = stateImage.states[0].sprite; } } StageManager prefabFlight = null; var stages = Resources.FindObjectsOfTypeAll <StageManager>(); for (int i = stages.Length - 1; i >= 0; i--) { var pre = stages[i]; if (pre.name == "StageManager") { prefabFlight = pre; } } if (prefabFlight != null) { StageGroup group = prefabFlight.stageGroupPrefab; Transform layout = group.transform.FindChild("IconLayout"); if (layout != null) { panelSprite = layout.GetComponent <Image>().sprite; } } spritesLoaded = true; }