Exemple #1
0
 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;
 }
Exemple #2
0
    //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;

        ////////
    }