void Start() { Templates.getInstance(); GameStorage.getInstance(); //TEST //PlayerPrefs.DeleteAll(); //TEST END mainMenu = GameObject.Find("main_panel"); helpMenu = GameObject.Find("help_panel"); helpMenu.SetActive(false); plotMenu = GameObject.Find("plot_panel"); plotMenu.SetActive(false); rank_img = GameObject.Find("rank_img"); rank_text = GameObject.Find("rank_text"); start_but = GameObject.Find("start_but"); missionsContainer = GameObject.Find("missions_container"); descriptionPanel = GameObject.Find("description_panel"); missionsMenu = GameObject.Find("missions_panel"); missionsMenu.SetActive(false); campaignsContent = GameObject.Find("campaigns_content"); campaignsMenu = GameObject.Find("campaigns_panel"); foreach (Templates.CampaignInfo camp in Templates.getInstance().campaignsList) { companyPanelTmp = (GameObject)Instantiate(Resources.Load("prefab/gui/company_panel"), Vector3.zero, Quaternion.identity); companyPanelTmp.transform.SetParent(campaignsContent.transform); companyPanelTmp.transform.localScale = new Vector3(1, 1, 1); ((UnityEngine.UI.Text)companyPanelTmp.GetComponentsInChildren <UnityEngine.UI.Text>()[0]).text = camp.name; ((UnityEngine.UI.Text)companyPanelTmp.GetComponentsInChildren <UnityEngine.UI.Text>()[1]).text = camp.desc; buttonTmp = companyPanelTmp.GetComponent <UnityEngine.UI.Button>(); Templates.CampaignInfo cap = camp; buttonTmp.onClick.AddListener(() => { selectCampaign(cap); }); } campaignsMenu.SetActive(false); }
void OnGUI() { if(GameStorage.getInstance().allReady) { Templates.getInstance().menu_button.button.fontSize=Templates.ResolutionProblems.getMainMenuFontSize(Screen.width); Templates.getInstance().menu_button.button.padding=new RectOffset(0,0,Templates.ResolutionProblems.getMainMenuPaddingTop(Screen.width),0); GUI.Label(new Rect(0,0,100,20),Screen.width+"x"+Screen.height); resWs = GUI.TextField(new Rect(0,20,50,20),resWs,4); resHs = GUI.TextField(new Rect(50,20,50,20),resHs,4); if(GUI.Button(new Rect(100,20,50,20),"GO")) { int resW,resH; resW=int.Parse(resWs); resH=int.Parse(resHs); Screen.SetResolution(resW,resH,true,60); Templates.getInstance().reloadIcons(); Debug.Log("Graphics reloaded"); } if(campaignMenu) { GUI.Box(new Rect(0,0,Screen.width,Screen.height),"",Templates.getInstance().campaigns_bg.box); GUI.Box(new Rect(0,Screen.height*0.07f,Screen.width,Screen.height*0.85f),"",Templates.getInstance().mission_bg.box); if(GUI.Button(new Rect(Screen.width*0.06f,Screen.height-Templates.ResolutionProblems.getCompanyPanelBackButtonH(Screen.height)-10,Templates.ResolutionProblems.getCompanyPanelBackButtonW(Screen.width),Templates.ResolutionProblems.getCompanyPanelBackButtonH(Screen.height)),"",Templates.getInstance().company_panel_hover.button)) switchMenu(GuiCategories.MainMenu); ArrayList camp = Templates.getInstance().getCampaigns(); int i=0,fi=-1; Templates.getInstance().company_panel_hover.box.fontSize=Templates.ResolutionProblems.getCompanyPanelFontSize(Screen.width); Templates.getInstance().company_panel.box.fontSize=Templates.ResolutionProblems.getCompanyPanelFontSize(Screen.width); Templates.getInstance().company_panel.label.fontSize=Templates.ResolutionProblems.getCompanyPanelLabelFontSize(Screen.width); for(i=0;i<3;i++) { if(Input.mousePosition.x >= Screen.width*0.028f && Input.mousePosition.x <= Screen.width*0.028f+Screen.width*0.65f && Screen.height-Input.mousePosition.y >= Screen.height*0.12f+(Templates.ResolutionProblems.getCompanyPanelH(Screen.height)-Templates.ResolutionProblems.getCompanyPanelOffset(Screen.height))*i && Screen.height-Input.mousePosition.y <= Screen.height*0.12f+(Templates.ResolutionProblems.getCompanyPanelH(Screen.height)-Templates.ResolutionProblems.getCompanyPanelOffset(Screen.height))*i +Templates.ResolutionProblems.getCompanyPanelH(Screen.height)-Templates.ResolutionProblems.getCompanyPanelOffset(Screen.height)) fi=i; } i=0; foreach(Templates.CampaignInfo c in camp) { if(fi==i) GUI.Box(new Rect(Screen.width*0.028f,Screen.height*0.12f+(Templates.ResolutionProblems.getCompanyPanelH(Screen.height)-Templates.ResolutionProblems.getCompanyPanelOffset(Screen.height))*i,Screen.width*0.65f,Templates.ResolutionProblems.getCompanyPanelH(Screen.height)),((Templates.CampaignInfo)c).name,Templates.getInstance().company_panel_hover.box); else GUI.Box(new Rect(Screen.width*0.028f,Screen.height*0.12f+(Templates.ResolutionProblems.getCompanyPanelH(Screen.height)-Templates.ResolutionProblems.getCompanyPanelOffset(Screen.height))*i,Screen.width*0.65f,Templates.ResolutionProblems.getCompanyPanelH(Screen.height)),((Templates.CampaignInfo)c).name,Templates.getInstance().company_panel.box); GUI.Label(new Rect(Screen.width*0.13f,Screen.height*0.2f+(Templates.ResolutionProblems.getCompanyPanelH(Screen.height)-Templates.ResolutionProblems.getCompanyPanelOffset(Screen.height))*i,Screen.width*0.5f,Templates.ResolutionProblems.getCompanyPanelH(Screen.height)),((Templates.CampaignInfo)c).desc,Templates.getInstance().company_panel.label); if(GUI.Button(new Rect(Screen.width*0.028f,Screen.height*0.12f+(Templates.ResolutionProblems.getCompanyPanelH(Screen.height)-Templates.ResolutionProblems.getCompanyPanelOffset(Screen.height))*i,Screen.width*0.65f,Templates.ResolutionProblems.getCompanyPanelH(Screen.height)-Templates.ResolutionProblems.getCompanyPanelOffset(Screen.height)),"",Templates.getInstance().company_panel.button)) { selectedCampaign=(Templates.CampaignInfo)c; switchMenu(GuiCategories.LevelsMenu); } i++; } } if(levelsMenu) { GUI.Box(new Rect(0,0,Screen.width,Screen.height),"",Templates.getInstance().campaigns_bg.box); GUI.Box(new Rect(0,Screen.height*0.07f,Screen.width,Screen.height*0.85f),"",Templates.getInstance().mission_bg.box); startPosition=Templates.ResolutionProblems.getLevelsStartPosition(Screen.width); STAR_X_OFFSET=Templates.ResolutionProblems.getLevelsStarOffsetX(Screen.width); STAR_Y_OFFSET=Templates.ResolutionProblems.getLevelsStarOffsetY(Screen.width); THIRDSTAR_Y_OFFSET=Templates.ResolutionProblems.getLevelsThirdstarOffsetY(Screen.width); NUMBER_OFFSET_X=Templates.ResolutionProblems.getLevelsNumberOffsetX(Screen.width); NUMBER_OFFSET_Y=Templates.ResolutionProblems.getLevelsNumberOffsetY(Screen.width); if(GUI.Button(new Rect(5,5,100,20),"full")) { for(int j=0;j<Templates.getInstance().getAllLevels().Count;j++) PlayerPrefs.SetInt("level"+(j+1)+"Stars",3); } if(GUI.Button(new Rect(20,Screen.height-40,100,20),"Back")) switchMenu(GuiCategories.CampaignMenu); string current_rank=""; int currentRankId=PlayerPrefs.GetInt("currentRankId"+MainMenuGui.selectedCampaign.id,-1); if(currentRankId==-1) current_rank=selectedCampaign.defaultRank; else current_rank=Templates.getInstance().getRank(currentRankId).name; GUI.Label(new Rect(Screen.width-5-200,10,200,50),"Current Rank: "+current_rank); if(GUI.Button(new Rect(110,5,100,20),"null")) { PlayerPrefs.DeleteAll(); } levels=selectedCampaign.levels; Templates.LevelInfo lv; int i=0,k; bool aa=true; GUI.skin=Templates.getInstance().none_scroll_skin; scrollPos = GUI.BeginScrollView(new Rect(Screen.width*0.07f,startPosition,Screen.width*0.63f,Screen.height),scrollPos,new Rect(0,startPosition,startPosition+Templates.ResolutionProblems.getLevelButtonStartW(Screen.width)/2*levels.Count+Templates.ResolutionProblems.getLevelButtonStartW(Screen.width)/2+startPosition,Screen.height-2*startPosition)); scrollPos+=new Vector2(mouseXDiff/400,0); levelButtonSize=Templates.ResolutionProblems.getLevelsButtonSize(Screen.width); foreach(int l in levels) { if(i!=levelSelected) GUI.skin=Templates.getInstance().button_level; else GUI.skin=Templates.getInstance().button_level_selected; lv=Templates.getInstance().getLevel(l); float[] pos = calculateLevelPosition(i); k = PlayerPrefs.GetInt("level"+lv.num+"Stars",0); if(k==0) { if(aa) { if(i!=levelSelected) { if(GUI.Button(new Rect(pos[1],pos[0],levelButtonSize,levelButtonSize),"")) levelSelected=i; GUISkin[] skins = Templates.getInstance().getNumberIcons(i+1,false); GUISkin sk = GUI.skin; GUI.skin=skins[0]; GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsNumberW(Screen.width)/2-NUMBER_OFFSET_X,pos[0]+NUMBER_OFFSET_Y,Templates.ResolutionProblems.getLevelsNumberW(Screen.width),Templates.ResolutionProblems.getLevelsNumberH(Screen.width)),""); GUI.skin=skins[1]; GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsNumberW(Screen.width)/2+NUMBER_OFFSET_X,pos[0]+NUMBER_OFFSET_Y,Templates.ResolutionProblems.getLevelsNumberW(Screen.width),Templates.ResolutionProblems.getLevelsNumberH(Screen.width)),""); GUI.skin=sk; aa=false; } else { if(GUI.Button(new Rect(pos[1],pos[0],levelButtonSize,levelButtonSize),"")) { playedLevelIndex=levelSelected; GameStorage.getInstance().LoadLevel(Templates.getInstance().getLevel((int)levels[levelSelected]),true); } GUISkin[] skins = Templates.getInstance().getNumberIcons(i+1,false); GUISkin sk = GUI.skin; GUI.skin=skins[0]; GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsNumberW(Screen.width)/2-NUMBER_OFFSET_X,pos[0]+NUMBER_OFFSET_Y,Templates.ResolutionProblems.getLevelsNumberW(Screen.width),Templates.ResolutionProblems.getLevelsNumberH(Screen.width)),""); GUI.skin=skins[1]; GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsNumberW(Screen.width)/2+NUMBER_OFFSET_X,pos[0]+NUMBER_OFFSET_Y,Templates.ResolutionProblems.getLevelsNumberW(Screen.width),Templates.ResolutionProblems.getLevelsNumberH(Screen.width)),""); GUI.skin=sk; aa=false; } } else { GUI.Button(new Rect(pos[1],pos[0],levelButtonSize,levelButtonSize),"",Templates.getInstance().button_level_grey.button); GUISkin[] skins = Templates.getInstance().getNumberIcons(i+1,true); GUISkin sk = GUI.skin; GUI.skin=skins[0]; GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsNumberW(Screen.width)/2-NUMBER_OFFSET_X,pos[0]+NUMBER_OFFSET_Y,Templates.ResolutionProblems.getLevelsNumberW(Screen.width),Templates.ResolutionProblems.getLevelsNumberH(Screen.width)),""); GUI.skin=skins[1]; GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsNumberW(Screen.width)/2+NUMBER_OFFSET_X,pos[0]+NUMBER_OFFSET_Y,Templates.ResolutionProblems.getLevelsNumberW(Screen.width),Templates.ResolutionProblems.getLevelsNumberH(Screen.width)),""); GUI.skin=sk; } } else { if(i!=levelSelected) { if(GUI.Button(new Rect(pos[1],pos[0],levelButtonSize,levelButtonSize),"")) levelSelected=i; GUISkin[] skins = Templates.getInstance().getNumberIcons(i+1,false); GUISkin sk = GUI.skin; GUI.skin=skins[0]; GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsNumberW(Screen.width)/2-NUMBER_OFFSET_X,pos[0]+NUMBER_OFFSET_Y,Templates.ResolutionProblems.getLevelsNumberW(Screen.width),Templates.ResolutionProblems.getLevelsNumberH(Screen.width)),""); GUI.skin=skins[1]; GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsNumberW(Screen.width)/2+NUMBER_OFFSET_X,pos[0]+NUMBER_OFFSET_Y,Templates.ResolutionProblems.getLevelsNumberW(Screen.width),Templates.ResolutionProblems.getLevelsNumberH(Screen.width)),""); GUI.skin=sk; } else { if(GUI.Button(new Rect(pos[1],pos[0],levelButtonSize,levelButtonSize),"")) { playedLevelIndex=levelSelected; GameStorage.getInstance().LoadLevel(Templates.getInstance().getLevel((int)levels[levelSelected]),true); } GUISkin[] skins = Templates.getInstance().getNumberIcons(i+1,false); GUISkin sk = GUI.skin; GUI.skin=skins[0]; GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsNumberW(Screen.width)/2-NUMBER_OFFSET_X,pos[0]+NUMBER_OFFSET_Y,Templates.ResolutionProblems.getLevelsNumberW(Screen.width),Templates.ResolutionProblems.getLevelsNumberH(Screen.width)),""); GUI.skin=skins[1]; GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsNumberW(Screen.width)/2+NUMBER_OFFSET_X,pos[0]+NUMBER_OFFSET_Y,Templates.ResolutionProblems.getLevelsNumberW(Screen.width),Templates.ResolutionProblems.getLevelsNumberH(Screen.width)),""); GUI.skin=sk; } GUI.skin=Templates.getInstance().label_level_star; if(k==3) { GUI.Label(new Rect(pos[1]+STAR_X_OFFSET,pos[0]+STAR_Y_OFFSET,Templates.ResolutionProblems.getLevelsStarSize(Screen.width),Templates.ResolutionProblems.getLevelsStarSize(Screen.width)),""); GUI.Label(new Rect(pos[1]+levelButtonSize-Templates.ResolutionProblems.getLevelsStarSize(Screen.width)-STAR_X_OFFSET,pos[0]+STAR_Y_OFFSET,Templates.ResolutionProblems.getLevelsStarSize(Screen.width),Templates.ResolutionProblems.getLevelsStarSize(Screen.width)),""); GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsStarSize(Screen.width)/2,pos[0]+STAR_Y_OFFSET+THIRDSTAR_Y_OFFSET,Templates.ResolutionProblems.getLevelsStarSize(Screen.width),Templates.ResolutionProblems.getLevelsStarSize(Screen.width)),""); } else if(k==2) { GUI.Label(new Rect(pos[1]+STAR_X_OFFSET,pos[0]+STAR_Y_OFFSET,Templates.ResolutionProblems.getLevelsStarSize(Screen.width),Templates.ResolutionProblems.getLevelsStarSize(Screen.width)),""); GUI.Label(new Rect(pos[1]+levelButtonSize-Templates.ResolutionProblems.getLevelsStarSize(Screen.width)-STAR_X_OFFSET,pos[0]+STAR_Y_OFFSET,Templates.ResolutionProblems.getLevelsStarSize(Screen.width),Templates.ResolutionProblems.getLevelsStarSize(Screen.width)),""); } else if(k==1) { GUI.Label(new Rect(pos[1]+levelButtonSize/2-Templates.ResolutionProblems.getLevelsStarSize(Screen.width)/2,pos[0]+STAR_Y_OFFSET+THIRDSTAR_Y_OFFSET,Templates.ResolutionProblems.getLevelsStarSize(Screen.width),Templates.ResolutionProblems.getLevelsStarSize(Screen.width)),""); } } i++; GUI.skin=null; } if(levelSelected>=0) { float[] pos = calculateStartButtonPosition(levelSelected); GUI.skin=Templates.getInstance().button_level_start; float startH,startW; startW=Templates.ResolutionProblems.getLevelButtonStartW(Screen.width); startH=Templates.ResolutionProblems.getLevelButtonStartH(Screen.width); if(GUI.Button(new Rect(pos[1],pos[0],startW,startH),"")) { playedLevelIndex=levelSelected; GameStorage.getInstance().LoadLevel(Templates.getInstance().getLevel((int)levels[levelSelected]),true); } GUI.skin=null; } GUI.EndScrollView(); if(levelSelected>=0) { Templates.LevelInfo lev = Templates.getInstance().getLevel((int)MainMenuGui.selectedCampaign.levels[levelSelected]); float[] q = calculateStartButtonPosition(1); GUILayout.BeginArea(new Rect(10,10,Screen.width-20,q[0]-Templates.ResolutionProblems.getLevelButtonStartH(Screen.width)/2),"",GUI.skin.box); GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.Label("Mission "+(levelSelected+1)+": "+lev.levelName); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.Label(lev.description); GUILayout.EndVertical(); GUILayout.EndArea(); } } if(mainMenu) { GUI.Box(new Rect(0,0,Screen.width,Screen.height),"",Templates.getInstance().bg.box); if(plotMenu) { GUI.enabled=true; GUI.Box(new Rect(0,0,Screen.width,Screen.height),""); int mainBoxH,mainBoxW; mainBoxH=Screen.height/100*85; mainBoxW=Screen.width/100*80; GUI.FocusControl(null); GUISkin sk = GUI.skin; GUI.skin=Templates.getInstance().mainPopupRichtext; GUILayout.BeginArea(new Rect(Screen.width/2-mainBoxW/2,Screen.height/2-mainBoxH/2,mainBoxW,mainBoxH)); GUILayout.BeginVertical(); GUILayout.FlexibleSpace(); scrollPos = GUILayout.BeginScrollView (scrollPos, GUILayout.Width (mainBoxW)); GUILayout.TextArea(Templates.getInstance().plotContext); GUILayout.EndScrollView (); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if(GUILayout.Button("Назад",GUILayout.Width(100),GUILayout.Height(20))) plotMenu=false; GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.EndVertical(); GUILayout.EndArea(); GUI.skin=sk; GUI.enabled=false; } else if(helpMenu) { GUI.enabled=true; GUI.Box(new Rect(0,0,Screen.width,Screen.height),""); int mainBoxH,mainBoxW; mainBoxH=Screen.height/100*85; mainBoxW=Screen.width/100*80; GUI.FocusControl(null); GUISkin sk = GUI.skin; GUI.skin=Templates.getInstance().mainPopupRichtext; GUILayout.BeginArea(new Rect(Screen.width/2-mainBoxW/2,Screen.height/2-mainBoxH/2,mainBoxW,mainBoxH)); GUILayout.BeginVertical(); GUILayout.FlexibleSpace(); scrollPos = GUILayout.BeginScrollView (scrollPos, GUILayout.Width (mainBoxW)); GUILayout.TextArea(Templates.getInstance().helpContent); GUILayout.EndScrollView (); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if(GUILayout.Button("Назад",GUILayout.Width(100),GUILayout.Height(20))) helpMenu=false; GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.EndVertical(); GUILayout.EndArea(); GUI.skin=sk; GUI.enabled=false; } else { GUI.enabled=true; //new float helpplotH,helpplotW,menuBH,menuBW; helpplotH=Screen.width*0.07f; helpplotW=helpplotH; if(GUI.Button(new Rect(30,Screen.height-30-helpplotH,helpplotW,helpplotH),"",Templates.getInstance().menu_button_help.button)) helpMenu=true; if(GUI.Button(new Rect(Screen.width-30-helpplotW,Screen.height-30-helpplotH,helpplotW,helpplotH),"",Templates.getInstance().menu_button_plot.button)) plotMenu=true; float bw = Screen.width/2-(30+helpplotW); float bwdif = bw-bw*0.7f; menuBW=bw*0.7f; bwdif/=2; float campaingsPosX=30+helpplotW+bwdif; menuBH=menuBW/MENU_BUT_H_COEFF; float menuButY=Screen.height-menuBH+menuBH*0.09f; float creditsPosX=Screen.width-30-helpplotW-bwdif-menuBW; if(GUI.Button(new Rect(campaingsPosX,menuButY,menuBW,menuBH),"Campaings",Templates.getInstance().menu_button.button)) switchMenu(GuiCategories.CampaignMenu); GUI.Button(new Rect(creditsPosX,menuButY,menuBW,menuBH),"Credits",Templates.getInstance().menu_button.button); } } } }
public void selectCampaign(Templates.CampaignInfo camp) { States.selectedLevel = -1; int i; start_but.SetActive(false); for (i = 0; i < missionsContainer.transform.childCount; i++) { Destroy(missionsContainer.transform.GetChild(i).gameObject); } States.currentCampaign = camp; //load load campaignsMenu.SetActive(false); missionsMenu.SetActive(true); ((UnityEngine.UI.Text)descriptionPanel.GetComponentsInChildren <UnityEngine.UI.Text>()[0]).text = camp.name; ((UnityEngine.UI.Text)descriptionPanel.GetComponentsInChildren <UnityEngine.UI.Text>()[1]).text = camp.desc; int currank = PlayerPrefs.GetInt("rank" + States.currentCampaign.id + "Campaign", -1); if (currank == -1) { rank_text.GetComponent <UnityEngine.UI.Text>().text = "Rank:\n" + Templates.getInstance().getRank(States.currentCampaign.defaultRank).name; rank_img.GetComponent <UnityEngine.UI.Image>().overrideSprite = Templates.getInstance().getRank(States.currentCampaign.defaultRank).img; } else { rank_text.GetComponent <UnityEngine.UI.Text>().text = "Rank:\n" + Templates.getInstance().getRank(currank).name; rank_img.GetComponent <UnityEngine.UI.Image>().overrideSprite = Templates.getInstance().getRank(currank).img; } int repetitions = camp.levels.Count / 2; bool free = true; int stars1, stars2 = 0; for (i = 0; i < repetitions; i++) { stars1 = PlayerPrefs.GetInt("mission" + camp.levels[i * 2] + "Stars", -1); stars2 = PlayerPrefs.GetInt("mission" + camp.levels[i * 2 + 1] + "Stars", -1); GameObject tmp = (GameObject)Instantiate(Templates.getInstance().missionBlockPrefab, Vector3.zero, Quaternion.identity); selectedState = new UnityEngine.UI.SpriteState(); selectedState.disabledSprite = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).spriteState.pressedSprite; selectedState.highlightedSprite = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).spriteState.pressedSprite; selectedState.pressedSprite = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).spriteState.pressedSprite; tmp.transform.SetParent(missionsContainer.transform); tmp.transform.localScale = new Vector3(1, 1, 1); if (stars1 == -1) { if (!free) { ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).enabled = false; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[0]).overrideSprite = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).spriteState.disabledSprite; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[1]).overrideSprite = Templates.getInstance().getNumberGrey(i * 2 + 1)[0]; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[2]).overrideSprite = Templates.getInstance().getNumberGrey(i * 2 + 1)[1]; } else { free = false; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[1]).overrideSprite = Templates.getInstance().getNumber(i * 2 + 1)[0]; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[2]).overrideSprite = Templates.getInstance().getNumber(i * 2 + 1)[1]; } } else { ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[1]).overrideSprite = Templates.getInstance().getNumber(i * 2 + 1)[0]; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[2]).overrideSprite = Templates.getInstance().getNumber(i * 2 + 1)[1]; if (stars1 >= 1) { Color c = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.transform.GetChild(3).gameObject.GetComponent <UnityEngine.UI.Image>().color; c.a = 1; ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.transform.GetChild(3).gameObject.GetComponent <UnityEngine.UI.Image>().color = c; } if (stars1 >= 2) { Color c = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.transform.GetChild(4).gameObject.GetComponent <UnityEngine.UI.Image>().color; c.a = 1; ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.transform.GetChild(4).gameObject.GetComponent <UnityEngine.UI.Image>().color = c; } if (stars1 >= 3) { Color c = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.transform.GetChild(5).gameObject.GetComponent <UnityEngine.UI.Image>().color; c.a = 1; ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).gameObject.transform.GetChild(5).gameObject.GetComponent <UnityEngine.UI.Image>().color = c; } } if (stars2 == -1) { if (!free) { ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).enabled = false; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[0]).overrideSprite = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).spriteState.disabledSprite; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[1]).overrideSprite = Templates.getInstance().getNumberGrey(i * 2 + 2)[0]; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[2]).overrideSprite = Templates.getInstance().getNumberGrey(i * 2 + 2)[1]; } else { free = false; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[1]).overrideSprite = Templates.getInstance().getNumber(i * 2 + 2)[0]; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[2]).overrideSprite = Templates.getInstance().getNumber(i * 2 + 2)[1]; } } else { ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[1]).overrideSprite = Templates.getInstance().getNumber(i * 2 + 2)[0]; ((UnityEngine.UI.Image)((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.GetComponentsInChildren <UnityEngine.UI.Image>()[2]).overrideSprite = Templates.getInstance().getNumber(i * 2 + 2)[1]; if (stars1 >= 1) { Color c = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.transform.GetChild(3).gameObject.GetComponent <UnityEngine.UI.Image>().color; c.a = 1; ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.transform.GetChild(3).gameObject.GetComponent <UnityEngine.UI.Image>().color = c; } if (stars1 >= 2) { Color c = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.transform.GetChild(4).gameObject.GetComponent <UnityEngine.UI.Image>().color; c.a = 1; ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.transform.GetChild(4).gameObject.GetComponent <UnityEngine.UI.Image>().color = c; } if (stars1 >= 3) { Color c = ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.transform.GetChild(5).gameObject.GetComponent <UnityEngine.UI.Image>().color; c.a = 1; ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).gameObject.transform.GetChild(5).gameObject.GetComponent <UnityEngine.UI.Image>().color = c; } } GameObject block = tmp; int lev = (i * 2); ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[0]).onClick.AddListener(() => setSelection(block, lev)); ((UnityEngine.UI.Button)tmp.GetComponentsInChildren <UnityEngine.UI.Button>()[1]).onClick.AddListener(() => setSelection(block, lev + 1)); } }