private void LoadRewardImagePreview() { Debug.Log("Loading reward image preview"); Texture2D tx = new Texture2D(PIC_WIDTH, PIC_HEIGHT); byte[] rewardPic = FileAccessUtil.LoadRewardPic(rewardName); //If not a custom reward if (rewardPic == null) { imgPreview.texture = Resources.Load <Texture2D>("RewardPictures/" + rewardName); } //else is a custom reward else { if (tx.LoadImage(rewardPic)) { tx.LoadImage(rewardPic); imgPreview.texture = tx; } else { Debug.Log(CLASSNAME + "Loading custom picture failed."); } } }
private void LoadRewardImagePreview() { Debug.Log("Loading reward image preview"); GameObject rewardImagePreview = rewardImagePanel.transform.Find("RewardImagePreview").gameObject; RawImage img = rewardImagePreview.GetComponent <RawImage>(); Texture2D tx = new Texture2D(PIC_WIDTH, PIC_HEIGHT); byte[] rewardPic = FileAccessUtil.LoadRewardPic(rewardName); //If not a custom reward if (rewardPic == null) { img.texture = Resources.Load <Texture2D>("RewardPictures/" + rewardName); } //else is a custom reward else { if (tx.LoadImage(rewardPic)) { tx.LoadImage(rewardPic); img.texture = tx; } else { Debug.Log(CLASSNAME + "Loading custom picture failed."); } } }
private void RequestData() { Debug.Log(CLASSNAME + "Sending data request to the controller..."); Dictionary <int, string> dict = controller.RequestRewards(); //Debug.Log(CLASSNAME + "Available Rewards: "); foreach (var reward in dict) { //Create a panel GameObject panel = GameObject.Instantiate(rewardPanel, viewportContent.transform, false); panel.name = reward.Key.ToString(); GameObject label = panel.transform.Find("Label").gameObject; label.GetComponent <Text>().text = reward.Value; label.name = reward.Value.ToString(); Toggle t = panel.GetComponent <Toggle>(); t.onValueChanged.AddListener(delegate { OnToggleChange(t); }); panel.SetActive(true); GameObject panelImage = panel.transform.Find("Image").gameObject; RawImage img = panelImage.GetComponent <RawImage>(); Texture2D tx = new Texture2D(PIC_WIDTH, PIC_HEIGHT); byte[] rewardPic = FileAccessUtil.LoadRewardPic(reward.Value); //If not a custom reward if (rewardPic == null) { img.texture = Resources.Load <Texture2D>("RewardPictures/" + reward.Value); } //else is a custom reward else { if (tx.LoadImage(rewardPic)) { img.texture = tx; } else { Debug.Log(CLASSNAME + "Loading custom picture failed."); } } } }
private void AddRewardItem(int id, string name) { GameObject panel = GameObject.Instantiate(itemPanel, viewportContent.transform, false); panel.name = name; panel.transform.Find("Text").GetComponent <Text>().text = name; GameObject panelImage = panel.transform.Find("RewardIcon").gameObject; RawImage img = panelImage.GetComponent <RawImage>(); Texture2D tx = new Texture2D(PIC_WIDTH, PIC_HEIGHT); byte[] rewardPic = FileAccessUtil.LoadRewardPic(name); //If custom reward with custom pic if (rewardPic != null) { if (tx.LoadImage(rewardPic)) { img.texture = tx; } else { Debug.Log(CLASSNAME + "Loading custom picture failed."); } } //else is a stock reward else { img.texture = Resources.Load <Texture2D>("RewardPictures/" + name); } if (id <= NUM_OF_STATIC_REWARDS) { //panel.transform.Find("Edit").GetComponent<Button>().interactable = false; panel.transform.Find("Delete").GetComponent <Button>().interactable = false; } panel.SetActive(true); currentEntries++; }
/////////////////////////////// Choose Reward Stuff vvvvvvvvvvvvvvvvvvvvv private void RequestData() { Dictionary <int, string> rewardDict = controller.RequestRewards(); List <string> listTags = controller.GetWordTagsList(); Dictionary <int, string> tagsDict = controller.GetIdToWordTagsDict(); foreach (var reward in rewardDict) { //Create a panel GameObject panel = GameObject.Instantiate(rewardPanel, RewardsViewportContent.transform, false); panel.name = reward.Key.ToString(); GameObject label = panel.transform.Find("Label").gameObject; label.GetComponent <Text>().text = reward.Value; label.name = reward.Value.ToString(); Toggle t = panel.GetComponent <Toggle>(); t.onValueChanged.AddListener(delegate { OnToggleChange(t); }); panel.SetActive(true); GameObject panelImage = panel.transform.Find("Image").gameObject; RawImage img = panelImage.GetComponent <RawImage>(); Texture2D tx = new Texture2D(PIC_WIDTH, PIC_HEIGHT); byte[] rewardPic = FileAccessUtil.LoadRewardPic(reward.Value); //If not a custom reward if (rewardPic == null) { img.texture = Resources.Load <Texture2D>("RewardPictures/" + reward.Value); } //else is a custom reward else { if (tx.LoadImage(rewardPic)) { img.texture = tx; } else { // TODO: log an error Debug.Log("VW_Playlist Loading custom picture failed."); } } } foreach (string entry in listTags) { //Create a panel GameObject tPanel = GameObject.Instantiate(tagCopyPanel, tagsViewportContent.transform, false); tPanel.name = entry; GameObject tagLabel = tPanel.transform.Find("Label").gameObject; tagLabel.GetComponent <Text>().text = entry; tagLabel.name = entry; Toggle toggleTag = tPanel.GetComponent <Toggle>(); toggleTag.onValueChanged.AddListener(delegate { OnTagToggleChange(toggleTag); }); tPanel.SetActive(true); } foreach (string entry in controller.GetTypeStrings()) { // TODO: Remove negative ref to memory cards once it has been debugged. if (entry != "Choose_Reward" && entry != "Memory_Cards") { //Create a panel GameObject sgPanel = GameObject.Instantiate(gameCopyPanel, setGamesContent.transform, false); sgPanel.name = entry; GameObject gameLabel = sgPanel.transform.Find("Label").gameObject; gameLabel.GetComponent <Text>().text = entry; gameLabel.name = entry; Toggle toggleGame = sgPanel.GetComponent <Toggle>(); toggleGame.onValueChanged.AddListener(delegate { OnGameToggleChange(toggleGame); }); sgPanel.SetActive(true); } } }
/// <summary> /// This function takes the name of an image (usually the word itself), a RawImage Game Object, /// and some optional XY dimensions. The imageName is used to recover a byte array and load /// a png from it for display. Otherwise, it will attempt to load from assets. The optional /// dimensions are for the resizing of the image. /// </summary> /// <param name="imageName3"></param> /// <param name="obj3"></param> /// <param name="xDelta"></param> /// <param name="yDelta"></param> public void SetImage3(string imageName3, GameObject obj3 /*, int xDelta = XY_DIMENSION, int yDelta = XY_DIMENSION*/) { Debug.Log("IMG 2: IMAGE NAME IS " + imageName3); //int xVect = xDelta, yVect = yDelta; System.Random rand = new System.Random(); //TEMP CODE bool isRandom = true; //REMOVE LATER //bool success = true; byte[] bytes3 = null; // Check if load random option is checked if (isRandom) { // Choose randomly whether stock image will be used or not. Weight it towards non stock if (rand.Next(RAND_LOWER_BOUND, RAND_UPPER_BOUND) == 1) { Debug.Log("IMG: RANDO WAS 1 grabbing from assets"); // Grab a stock texture Texture2D tempTex = Resources.Load <Texture2D>("WordPictures/" + imageName3 + "/" + imageName3 + UnityEngine.Random.Range(1, 6)); // If the stock texture is not null use it else grab a random user image if (tempTex != null) { Debug.Log("IMG: ASSET RESOURCE WAS GOOD! appyling"); obj3.GetComponent <RawImage>().texture = tempTex; } else { Debug.Log("IMG: COULD NOT LOAD FROM assets! Grabbing random image"); SetRandomImage3(bytes3, obj3, imageName3); } } else { // Grab a random user image SetRandomImage3(bytes3, obj3, imageName3); } } else { if (activeTypeId == 1) { Debug.Log("IMG: ACTIVE TYPE WAS REWARD"); bytes3 = FileAccessUtil.LoadRewardPic(imageName3); } else { bytes3 = FileAccessUtil.LoadWordPic(imageName3); } if (bytes3 != null) { Debug.Log("IMG: bYTES ARE GOOD!"); if (customTexture3.LoadImage(bytes3)) { obj3.GetComponent <RawImage>().texture = customTexture3; } else { Debug.Log("Error: could not load image"); return; } } else { Debug.Log("IMG: BYTES WERE NULL"); obj3.GetComponent <RawImage>().texture = Resources.Load <Texture2D>("WordPictures/" + imageName3 + "/" + imageName3 + UnityEngine.Random.Range(1, 6)); //customTexture = Resources.Load<Texture2D>("WordPictures/" + imageName); } } //obj.GetComponent<RawImage>().texture = customTexture; RectTransform rt = obj3.GetComponent <RectTransform>(); //rt.sizeDelta = new Vector2(xVect, yVect); }
private void SetRewardButtonImage(GameObject rb, GameObject rp, RawImage ri, Text rt, Text label) { rb.SetActive(true); var rewards = ds.GetRewardsTable(); Debug.Log("SetRewardButtonImage method starting, with rb = " + rb.name + ", rp = " + rp.name + ", ri = " + ri.name + ", rt = " + rt.name); RawImage img = rb.GetComponent <RawImage>(); RawImage customPanelImg = ri.GetComponent <RawImage>(); Text customPanelText = rt.GetComponent <Text>(); GameObject customPanel = rp; foreach (var row in rewards) { if (chooseRewardObject.rewardIdsList.Contains(row.reward_id) && !alreadyLoadedImageList.Contains(row.reward_name)) { Debug.Log("Reward Loading. name = " + row.reward_name + ", type = " + row.reward_type + ", url = " + row.reward_url); customPanel.name = row.reward_name; label.text = row.reward_name; Texture2D tx = new Texture2D(75, 75); byte[] rewardPic = FileAccessUtil.LoadRewardPic(row.reward_name); // If it is stock reward pic: if (rewardPic == null) { Debug.Log("It's a stock pic"); img.texture = Resources.Load <Texture2D>("RewardPictures/" + row.reward_name); alreadyLoadedImageList.Add(row.reward_name); if (row.reward_url != "" || row.reward_url != null) { Debug.Log("Setting button name to reward url"); rb.name = row.reward_url; } return; } // Else it is a custom reward pic: else { tx.LoadImage(rewardPic); img.texture = tx; customPanelImg.texture = tx; customPanelText.text = rp.name; if (row.reward_type == "website") { rb.name = row.reward_url; } else { rb.name = row.reward_name; rp.name = row.reward_name; rt.text = row.reward_name; Debug.Log("itsa custom"); } alreadyLoadedImageList.Add(row.reward_name); return; } } } }