Exemplo n.º 1
0
        public static void equip_the_bow(int _weapon_index, popup_window_button_mgr.NPC_INDEX _npc_index)
        {


            string set_bow_to_npc_str;
            // NPC에 Damage 추가 && NPC Damage 추가 Label Update.

            switch (_npc_index)
            {
                case popup_window_button_mgr.NPC_INDEX.NPC04:
                    bow_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC04;

                    // 무기 레벨업 시 무기 레벨 값을 Local에 저장.
                    set_bow_to_npc_str = "bow" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_bow_to_npc_str, 4);
                    PlayerPrefs.Save();

                    NPC04_make.NPC04_struct.add_damage = bow_struct_object[_weapon_index].damage;
                    NPC04_make.NPC04_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC04_make.NPC04_struct.add_damage);
                    break;
                case popup_window_button_mgr.NPC_INDEX.NPC05:
                    bow_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC05;

                    // 무기 레벨업 시 무기 레벨 값을 Local에 저장.
                    set_bow_to_npc_str = "bow" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_bow_to_npc_str, 5);
                    PlayerPrefs.Save();

                    NPC05_make.NPC05_struct.add_damage = bow_struct_object[_weapon_index].damage;
                    NPC05_make.NPC05_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC05_make.NPC05_struct.add_damage);
                    break;
                case popup_window_button_mgr.NPC_INDEX.NPC06:
                    bow_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC06;

                    // 무기 레벨업 시 무기 레벨 값을 Local에 저장.
                    set_bow_to_npc_str = "bow" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_bow_to_npc_str, 6);
                    PlayerPrefs.Save();

                    NPC06_make.NPC06_struct.add_damage = bow_struct_object[_weapon_index].damage;
                    NPC06_make.NPC06_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC06_make.NPC06_struct.add_damage);
                    break;
                case popup_window_button_mgr.NPC_INDEX.NPC10:
                    bow_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC10;

                    // 무기 레벨업 시 무기 레벨 값을 Local에 저장.
                    set_bow_to_npc_str = "bow" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_bow_to_npc_str, 10);
                    PlayerPrefs.Save();

                    NPC10_make.NPC10_struct.add_damage = bow_struct_object[_weapon_index].damage;
                    NPC10_make.NPC10_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC10_make.NPC10_struct.add_damage);
                    break;
                case popup_window_button_mgr.NPC_INDEX.NPC11:
                    bow_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC11;

                    // 무기 레벨업 시 무기 레벨 값을 Local에 저장.
                    set_bow_to_npc_str = "bow" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_bow_to_npc_str, 11);
                    PlayerPrefs.Save();

                    NPC11_make.NPC11_struct.add_damage = bow_struct_object[_weapon_index].damage;
                    NPC11_make.NPC11_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC11_make.NPC11_struct.add_damage);
                    break;
                case popup_window_button_mgr.NPC_INDEX.NPC12:
                    bow_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC12;

                    // 무기 레벨업 시 무기 레벨 값을 Local에 저장.
                    set_bow_to_npc_str = "bow" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_bow_to_npc_str, 12);
                    PlayerPrefs.Save();

                    NPC12_make.NPC12_struct.add_damage = bow_struct_object[_weapon_index].damage;
                    NPC12_make.NPC12_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC12_make.NPC12_struct.add_damage);
                    break;
            }

        }
Exemplo n.º 2
0
        /// <summary>
        /// 캐릭터 index와 wing index를 받아서 해당 캐릭터 attack speed를 변경해 줄 함수.
        /// </summary>
        /// <param name="_wing_index_skill"></param>
        /// <param name="_npc_inde"></param>
        public static void get_wing_skill_func(int _wing_index_skill, popup_window_button_mgr.NPC_INDEX _npc_index)
        {
            Animator anim;

            // wing index에 따라서 공격속도 달리 설정해 줄 변수 선언.
            float animation_speed = 0f;
            float attack_speed = 0f;

            print("To Save wing index :: " + _wing_index_skill);
            print("To Save npc index :: " + (int)_npc_index);

            // 해당 wing이 어떤 npc에 저장되어 있는지 판별할 Local 변수에 저장해줌
            // Ex) NPC01 : 1 , NPC02 : 2.... 임. enum값때문.
            PlayerPrefs.SetInt("wing" + _wing_index_skill + "_npc", (int)_npc_index);
            PlayerPrefs.Save();

            // Wing index별 스킬 추가.
            // Wing index에 해당하는 스킬을 할당해줌.
            switch (_wing_index_skill)
            {
                case 0:
                case 1:
                case 2:
                case 3:
                case 4:
                    // 속도 Level 1
                    animation_speed = 1f;
                    attack_speed = 0.9f;
                    break;
                case 5:
                case 6:
                case 7:
                case 8:
                case 9:
                    // 속도 Level 2
                    animation_speed = 1f;
                    attack_speed = 0.8f;
                    break;

                case 10:
                    // 속도 Level 3
                    animation_speed = 1f;
                    attack_speed = 0.7f;
                    break;

                case 11:
                    // 속도 Level 4
                    animation_speed = 1.5f;
                    attack_speed = 0.6f;
                    break;

                case 12:
                case 13:
                    // 속도 level 5
                    animation_speed = 1.5f;
                    attack_speed = 0.5f;
                    break;

                case 14:
                case 15:
                    // 속도 Level 6
                    animation_speed = 1.7f;
                    attack_speed = 0.4f;
                    break;

                case 16:
                    // 속도 Level 7
                    animation_speed = 2.3f;
                    attack_speed = 0.3f;
                    break;

                case 17:
                case 18:
                    // 속도 Level 8
                    animation_speed = 3.2f;
                    attack_speed = 0.2f;
                    break;

                case 19:
                    // 속도 Level MAX
                    animation_speed = 6f;
                    attack_speed = 0.1f;
                    break;

                default:
                    print("wing index error!!!");
                    break;
            }


            // 해당 NPC에 wing skill 속도를 setting해줌.
            switch(_npc_index)
            {
                case popup_window_button_mgr.NPC_INDEX.NPC01:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    // 캐릭터 공격속도 변경.
                    NPC01_make npc01 = NPC01_make.NPC01_struct.gameobject.GetComponent<NPC01_make>();
                    npc01.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC01_make.NPC01_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1-attack_speed)*100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC02:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    // 캐릭터 공격속도 변경.
                    NPC02_make npc02 = NPC02_make.NPC02_struct.gameobject.GetComponent<NPC02_make>();
                    npc02.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC02_make.NPC02_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC03:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    // 캐릭터 공격속도 변경.
                    NPC03_make npc03 = NPC03_make.NPC03_struct.gameobject.GetComponent<NPC03_make>();
                    npc03.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC03_make.NPC03_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC04:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    // 캐릭터 공격속도 변경.
                    NPC04_make npc04 = NPC04_make.NPC04_struct.gameobject.GetComponent<NPC04_make>();
                    npc04.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC04_make.NPC04_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC05:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    // 캐릭터 공격속도 변경.
                    NPC05_make npc05 = NPC05_make.NPC05_struct.gameobject.GetComponent<NPC05_make>();
                    npc05.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC05_make.NPC05_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC06:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    // 캐릭터 공격속도 변경.
                    NPC06_make npc06 = NPC06_make.NPC06_struct.gameobject.GetComponent<NPC06_make>();
                    npc06.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC06_make.NPC06_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC07:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    // 캐릭터 공격속도 변경.
                    NPC07_make npc07 = NPC07_make.NPC07_struct.gameobject.GetComponent<NPC07_make>();
                    npc07.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC07_make.NPC07_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC08:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    anim = GameObject.Find("Impl8").GetComponent<Animator>();
                    print("npc8 speed :::" + anim.speed.ToString());
                    anim.speed = animation_speed;

                    // 캐릭터 공격속도 변경.
                    NPC08_make npc08 = NPC08_make.NPC08_struct.gameobject.GetComponent<NPC08_make>();
                    npc08.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC08_make.NPC08_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC09:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    anim = GameObject.Find("Impl9").GetComponent<Animator>();
                    print("npc9 speed :::" + anim.speed.ToString());
                    anim.speed = animation_speed;

                    // 캐릭터 공격속도 변경.
                    NPC09_make npc09 = NPC09_make.NPC09_struct.gameobject.GetComponent<NPC09_make>();
                    npc09.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC09_make.NPC09_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC10:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    // 캐릭터 공격속도 변경.
                    NPC10_make npc10 = NPC10_make.NPC10_struct.gameobject.GetComponent<NPC10_make>();
                    npc10.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC10_make.NPC10_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC11:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    // 캐릭터 공격속도 변경.
                    NPC11_make npc11= NPC11_make.NPC11_struct.gameobject.GetComponent<NPC11_make>();
                    npc11.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC11_make.NPC11_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                case popup_window_button_mgr.NPC_INDEX.NPC12:
                    // 캐릭터 공격 애니메이션 속도 변경.
                    // 캐릭터 공격속도 변경.
                    NPC12_make npc12 = NPC12_make.NPC12_struct.gameobject.GetComponent<NPC12_make>();
                    npc12.change_attack_speed(attack_speed,animation_speed);

                    // 캐릭터 state창에서 공격속도증가 Label에 update해줘야함.
                    NPC12_make.NPC12_struct.add_speed_label.GetComponent<UILabel>().text = "+" + ((1 - attack_speed) * 100) + "%";
                    break;

                default:
                    print("To accept wing skill,npc index error");
                    break;
            }
        }
Exemplo n.º 3
0
        public static void equip_the_weapon(int _weapon_index, popup_window_button_mgr.NPC_INDEX _npc_index)
        {

            string set_weapon_to_npc_str;

            // NPC에 Damage 추가 && NPC Damage 추가 Label Update.
            switch (_npc_index)
            {
                case popup_window_button_mgr.NPC_INDEX.NPC01:
                    weapon_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC01;

                    // 무기가 어떤 npc에 장착 되어있는지 확인할 Local 변수 Save.
                    set_weapon_to_npc_str = "weapon" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_weapon_to_npc_str, 1);                                                    // 1 -> NPC01
                    PlayerPrefs.Save();

                    NPC01_make.NPC01_struct.add_damage = weapon_struct_object[_weapon_index].damage;
                    NPC01_make.NPC01_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC01_make.NPC01_struct.add_damage);
                    break;
                case popup_window_button_mgr.NPC_INDEX.NPC02:
                    weapon_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC02;

                    // 무기가 어떤 npc에 장착 되어있는지 확인할 Local 변수
                    set_weapon_to_npc_str = "weapon" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_weapon_to_npc_str, 2);                                                    // 2 -> NPC02
                    PlayerPrefs.Save();

                    NPC02_make.NPC02_struct.add_damage = weapon_struct_object[_weapon_index].damage;
                    NPC02_make.NPC02_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC02_make.NPC02_struct.add_damage);
                    break;
                case popup_window_button_mgr.NPC_INDEX.NPC03:
                    weapon_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC03;

                    // 무기가 어떤 npc에 장착 되어있는지 확인할 Local 변수
                    set_weapon_to_npc_str = "weapon" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_weapon_to_npc_str, 3);                                                    // 3 -> NPC03
                    PlayerPrefs.Save();

                    NPC03_make.NPC03_struct.add_damage = weapon_struct_object[_weapon_index].damage;
                    NPC03_make.NPC03_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC03_make.NPC03_struct.add_damage);
                    break;
                case popup_window_button_mgr.NPC_INDEX.NPC07:
                    weapon_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC07;

                    // 무기가 어떤 npc에 장착 되어있는지 확인할 Local 변수
                    set_weapon_to_npc_str = "weapon" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_weapon_to_npc_str, 7);                                                    // 7 -> NPC07
                    PlayerPrefs.Save();

                    NPC07_make.NPC07_struct.add_damage = weapon_struct_object[_weapon_index].damage;
                    NPC07_make.NPC07_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC07_make.NPC07_struct.add_damage);
                    break;
                case popup_window_button_mgr.NPC_INDEX.NPC08:
                    weapon_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC08;

                    // 무기가 어떤 npc에 장착 되어있는지 확인할 Local 변수
                    set_weapon_to_npc_str = "weapon" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_weapon_to_npc_str, 8);                                                    // 8 -> NPC08
                    PlayerPrefs.Save();

                    NPC08_make.NPC08_struct.add_damage = weapon_struct_object[_weapon_index].damage;
                    NPC08_make.NPC08_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC08_make.NPC08_struct.add_damage);
                    break;
                case popup_window_button_mgr.NPC_INDEX.NPC09:
                    weapon_struct_object[_weapon_index].equiped_this_weapon_npc_index = popup_window_button_mgr.NPC_INDEX.NPC09;

                    // 무기가 어떤 npc에 장착 되어있는지 확인할 Local 변수
                    set_weapon_to_npc_str = "weapon" + _weapon_index.ToString() + "_npc";
                    PlayerPrefs.SetInt(set_weapon_to_npc_str, 9);                                                    // 9 -> NPC09
                    PlayerPrefs.Save();

                    NPC09_make.NPC09_struct.add_damage = weapon_struct_object[_weapon_index].damage;
                    NPC09_make.NPC09_struct.add_damage_label.GetComponent<UILabel>().text = "+ " + GameData.int_to_label_format(NPC09_make.NPC09_struct.add_damage);
                    break;
            }
        }