public void selectskill(effectdata skill) { Debug.Log(skill.Effectname); levelmanager.LM.effects.Add(skill); gameObject.SetActive(false); announcer.SetActive(true); announcer.GetComponent <TextMeshProUGUI>().text = skill.Description; announcer.GetComponent <RectTransform>().GetChild(1).GetComponent <TextMeshProUGUI>().text = skill.Effectname; }
//present skills to shuffle public void InitializeSkills() { //determine three skills effectdata[] effect_pool = levelmanager.LM.worlds.allworlds[levelmanager.LM.current_world].availableEffects; List <effectdata> main_effects = new List <effectdata>(); foreach (effectdata e in effect_pool) { main_effects.Add(e); } tab1_targeteffect = main_effects[Random.Range(0, main_effects.Count)]; main_effects.Remove(tab1_targeteffect); tab2_targeteffect = main_effects[Random.Range(0, main_effects.Count)]; main_effects.Remove(tab2_targeteffect); tab3_targeteffect = main_effects[Random.Range(0, main_effects.Count)]; main_effects.Remove(tab3_targeteffect); // RectTransform mountpoint1_transform = mountpoint1.GetComponent <RectTransform>(); GameObject tab1 = Instantiate(skilltab_prefab, mountpoint1_transform.anchoredPosition3D, mountpoint1_transform.rotation); RectTransform tab1_transform = tab1.GetComponent <RectTransform>(); tab1_transform.SetParent(mountpoint1.GetComponent <RectTransform>()); tab1_transform.anchoredPosition3D = Vector3.zero; tab1_transform.localScale = Vector3.one; tab1_startorder = Random.Range(0, 3); tab1.GetComponent <SpriteRenderer>().sprite = tab1_targeteffect.Displayimage; //tab1.GetComponent<Button>().enabled = true; Vector3 tabvectoroffset = new Vector3(0, 50, 0); tab1_transform.anchoredPosition3D = tab1_transform.anchoredPosition3D + (tabvectoroffset * tab1_startorder); RectTransform tab1_other1_transform = new RectTransform(); RectTransform tab1_other2_transform = new RectTransform(); tab1_list.Clear(); tab1_list.Add(tab1); for (int i = 0; i < 3; i++) { if (i != tab1_startorder) { GameObject tab1_othertab1 = Instantiate(skilltab_prefab, mountpoint1_transform.anchoredPosition3D, mountpoint1_transform.rotation); tab1_other1_transform = tab1_othertab1.GetComponent <RectTransform>(); tab1_other1_transform.SetParent(mountpoint1.GetComponent <RectTransform>()); tab1_other1_transform.anchoredPosition3D = Vector3.zero; tab1_other1_transform.localScale = Vector3.one; tab1_other1_transform.anchoredPosition3D = tab1_other1_transform.anchoredPosition3D + (tabvectoroffset * i); tab1_othertab1.GetComponent <SpriteRenderer>().sprite = main_effects[Random.Range(0, main_effects.Count)].Displayimage; tab1_list.Add(tab1_othertab1); } } tab1_animating = true; tab1_animate_shuffling = true; tab1_animate_stopping = false; tab1_readjusting = false; _speed_stopping = speed_stopping; _speed_readjusting = speed_readjusting; freeshuffling = true; freeshuffling_counter = freeshuffling_frames; ///////// //new RectTransform mountpoint2_transform = mountpoint2.GetComponent <RectTransform>(); GameObject tab2 = Instantiate(skilltab_prefab, mountpoint2_transform.anchoredPosition3D, mountpoint2_transform.rotation); RectTransform tab2_transform = tab2.GetComponent <RectTransform>(); tab2_transform.SetParent(mountpoint2.GetComponent <RectTransform>()); tab2_transform.anchoredPosition3D = Vector3.zero; tab2_transform.localScale = Vector3.one; tab2_startorder = tab1_startorder; tab2.GetComponent <SpriteRenderer>().sprite = tab2_targeteffect.Displayimage; Vector3 tab2vectoroffset = new Vector3(0, 50, 0); tab2_transform.anchoredPosition3D = tab2_transform.anchoredPosition3D + (tab2vectoroffset * tab2_startorder); RectTransform tab2_other1_transform = new RectTransform(); RectTransform tab2_other2_transform = new RectTransform(); tab2_list.Clear(); tab2_list.Add(tab2); for (int i = 0; i < 3; i++) { if (i != tab2_startorder) { GameObject tab2_othertab1 = Instantiate(skilltab_prefab, mountpoint2_transform.anchoredPosition3D, mountpoint2_transform.rotation); tab2_other1_transform = tab2_othertab1.GetComponent <RectTransform>(); tab2_other1_transform.SetParent(mountpoint2.GetComponent <RectTransform>()); tab2_other1_transform.anchoredPosition3D = Vector3.zero; tab2_other1_transform.localScale = Vector3.one; tab2_other1_transform.anchoredPosition3D = tab2_other1_transform.anchoredPosition3D + (tab2vectoroffset * i); tab2_othertab1.GetComponent <SpriteRenderer>().sprite = main_effects[Random.Range(0, main_effects.Count)].Displayimage; tab2_list.Add(tab2_othertab1); } } tab2_animating = true; tab2_animate_shuffling = true; tab2_animate_stopping = false; tab2_readjusting = false; _speed_stopping_tab2 = speed_stopping; _speed_readjusting_tab2 = speed_readjusting; ////// RectTransform mountpoint3_transform = mountpoint3.GetComponent <RectTransform>(); GameObject tab3 = Instantiate(skilltab_prefab, mountpoint3_transform.anchoredPosition3D, mountpoint3_transform.rotation); RectTransform tab3_transform = tab3.GetComponent <RectTransform>(); tab3_transform.SetParent(mountpoint3.GetComponent <RectTransform>()); tab3_transform.anchoredPosition3D = Vector3.zero; tab3_transform.localScale = Vector3.one; tab3_startorder = tab1_startorder; tab3.GetComponent <SpriteRenderer>().sprite = tab3_targeteffect.Displayimage; Vector3 tab3vectoroffset = new Vector3(0, 50, 0); tab3_transform.anchoredPosition3D = tab3_transform.anchoredPosition3D + (tab3vectoroffset * tab3_startorder); RectTransform tab3_other1_transform = new RectTransform(); RectTransform tab3_other2_transform = new RectTransform(); tab3_list.Clear(); tab3_list.Add(tab3); for (int i = 0; i < 3; i++) { if (i != tab3_startorder) { GameObject tab3_othertab1 = Instantiate(skilltab_prefab, mountpoint3_transform.anchoredPosition3D, mountpoint3_transform.rotation); tab3_other1_transform = tab3_othertab1.GetComponent <RectTransform>(); tab3_other1_transform.SetParent(mountpoint3.GetComponent <RectTransform>()); tab3_other1_transform.anchoredPosition3D = Vector3.zero; tab3_other1_transform.localScale = Vector3.one; tab3_other1_transform.anchoredPosition3D = tab3_other1_transform.anchoredPosition3D + (tab3vectoroffset * i); tab3_othertab1.GetComponent <SpriteRenderer>().sprite = main_effects[Random.Range(0, main_effects.Count)].Displayimage; tab3_list.Add(tab3_othertab1); } } tab3_animating = true; tab3_animate_shuffling = true; tab3_animate_stopping = false; tab3_readjusting = false; _speed_stopping_tab3 = speed_stopping; _speed_readjusting_tab3 = speed_readjusting; //////// }