Exemplo n.º 1
0
 void Update()
 {
     if (m_curMonster != MonsterManager.Instance.GetSelectedMonster().code)
     {
         m_curMonster = MonsterManager.Instance.GetSelectedMonster().code;
         for (int index = 0; index < m_monsterSlots.Count; index++)
         {
             m_monsterSlots[index].SlotSelected(m_curMonster);
         }
     }
 }
Exemplo n.º 2
0
 public MonsterInfo MonsterDataLoadWithCode(MonsterCode mCode)
 {
     foreach (MonsterInfo mInfo in monsterInfoList)
     {
         if (mCode == mInfo.monsterCode)
         {
             return(mInfo);
         }
     }
     return(null);
 }
Exemplo n.º 3
0
 public void SlotSelected(MonsterCode code)
 {
     if (m_monsterData.code == code)
     {
         gameObject.GetComponent <Image>().sprite = m_selectedBox;
         m_edge.sprite = m_selectedEdge;
     }
     else
     {
         gameObject.GetComponent <Image>().sprite = m_defaultBox;
         m_edge.sprite = m_defaultEdge;
     }
 }
Exemplo n.º 4
0
    public void MonsterDestroyProcessing(MonsterCode mCode)
    {
        //이 함수를 부르는 넘은 혹시 또 다른 놈이 생성될지 모르니까 Invoke 0.5초 정도 딜레이.

        stageMonsterCounts["Stage" + nowStageNumber] -= 1;   //죽여야할 녀석이 한 놈 줄었다.
        Debug.Log("NowStageMonsterCount" + stageMonsterCounts["Stage" + nowStageNumber]);

        if (stageMonsterCounts["Stage" + nowStageNumber] <= 0)
        {
            //스테이지 클리어. 다음 스테이지로 넘어갈 수 있도록 처리해줘야함.
            TeleportDoor openDoor = GameObject.Find("TeleportDoor" + (nowStageNumber * 2 - 1)).GetComponent <TeleportDoor>();
            openDoor.teleportOpen = true;
            //Debug.Log("열린문이름:" + openDoor.gameObject.name);
            if (nowStageNumber == maxStageNumber)
            {
                openDoor.chapterClear = true;
            }
        }
    }
Exemplo n.º 5
0
    //생성자
    public MonsterInfo(MonsterCode monstercode, bool isb, string name, MonsterState state,
                       int damage, int defense, int hp, int speed, int range,
                       int goldamount, int droprate, SpawnCode dropitemcode)
    {
        monsterCode  = monstercode;
        isBoss       = isb;
        monsterName  = name;
        monsterState = state;

        monsterDamage      = damage;
        monsterDefense     = defense;
        monsterHp          = hp;
        monsterSpeed       = speed;
        monsterAttackRange = range;

        monsterDropGoldAmount = goldamount;
        monsterDropRate       = droprate;
        monsterDropItemCode   = dropitemcode;
    }
Exemplo n.º 6
0
    public string complete_script;              //퀘스트 완료대사


    //생성자
    //퀘스트 고유 번호 str, 퀘스트 고유 번호, npc 고유 번호,  챕터,  퀘스트 상태,  퀘스트 유형, 몬스터 코드, 퀘스트 대상 완료 개수, 퀘스트 보상 유형, 퀘스트 진행개수, 퀘스트 이름,  퀘스트 내용, 퀘스트 요약, 퀘스트 대사
    public QuestInfo(string _quest_code_str, int _quest_code, int _quest_npc_code, int _quest_chapter, QuestState _quest_state, QuestType _quest_type, MonsterCode _quest_monstercode, int _quest_complete_count, QuestRewardCode _quest_reward_type, int _quest_reward_gold, SpawnCode _quest_reward_item, int _questItemCur, string _quest_name, string _content, string _summary, string _script, string _complete_script)
    {
        quest_code_str    = _quest_code_str;
        quest_code        = _quest_code;
        quest_npc_code    = _quest_npc_code;
        quest_chapter     = _quest_chapter;
        quest_state       = _quest_state;
        quest_type        = _quest_type;
        questmonstercode  = _quest_monstercode;
        questItemMax      = _quest_complete_count;
        quest_reward_type = _quest_reward_type;
        quest_reward_gold = _quest_reward_gold;
        quest_reward_item = _quest_reward_item;
        questItemCur      = _questItemCur;
        quest_name        = _quest_name;
        content           = _content;
        summary           = _summary;
        script            = _script;
        complete_script   = _complete_script;
    }
Exemplo n.º 7
0
    public void StartGoToPlayer(MonsterCode monsterCode, int attackType = -1, int isLRM = 0)
    {
        PlayerObject = GameObject.Find("MonsterPlayer_Sample");
        myRigid      = GetComponent <Rigidbody2D>();
        goToPlayer   = true;

        switch (monsterCode)
        {
        case MonsterCode.WM106:     //불타는 주술사
            throwThingSpeed = 8; ChaseThePlayer(); lifeTime = 2.0f;
            break;

        case MonsterCode.WM108:     //얼음 펭귄
            StartCoroutine(ParabolicExerciseToPlayer()); lifeTime = 7.0f;
            break;

        case MonsterCode.WM110:     //무지개 장미
            throwThingSpeed = 30; FireToPlayer(); lifeTime = 3.0f;
            break;

        case MonsterCode.FM203:     //무지개 새
            throwThingSpeed = 7; ChaseThePlayer(); lifeTime = 2.5f;
            break;

        case MonsterCode.BM302:     //타오르는 피닉스
            throwThingSpeed = 30; FireToPlayer(); lifeTime = 3.0f;
            break;

        case MonsterCode.BM303:     //얼음네시
            if (attackType == 1)
            {
                throwThingSpeed = 12; lifeTime = 3.0f;
                JustGoToFront(isLRM);
                //파도 공격!!!
            }
            else if (attackType == 2)
            {
                throwThingSpeed = 10; lifeTime = 8.0f;
                ChaseThePlayer();
                //쫓아가랏 눈송이!!!!
            }
            else if (attackType == 3)
            {
                throwThingSpeed = 40; lifeTime = 5.0f;
                //타켓팅 아이스 스피어 5개가 각자 다른 곳에서 생성 되었습니다!!!
                //발싸!!!!
                FireToPlayer();
            }
            break;

        case MonsterCode.BM304:     //해바라기 사자
            if (attackType == 2)    //꽃잎 발싸! (랜덤위치, 랜덤속도, 수평으로 날아감.)
            {
                throwThingSpeed = 10; lifeTime = 4f;
                //ChaseThePlayer();
                StartCoroutine(irregularStraightThrowToPlayer(isLRM));
                //쫓아가랏 눈송이!!!!
            }
            break;
        }
        if (goToPlayer)
        {
            Invoke("Dead", lifeTime);
        }
    }
Exemplo n.º 8
0
    public void QuestMonsterCheck(MonsterCode monsterCode)      //퀘스트 진행 상황 체크
    {
        int i;

        for (i = 0; i < questAcessList.Count; i++)
        {
            QuestType questType = questAcessList[i].quest_type;
            switch (questType)
            {
            case QuestType.Type_Kill:
                if (questAcessList[i].questItemCur < questAcessList[i].questItemMax && questAcessList[i].questmonstercode == monsterCode)
                {
                    playerQuestList[FindNameToQuestInfo(questAcessList[i].quest_name).quest_code].questItemCur++;
                }
                break;

            case QuestType.Tutorial:

                if (questAcessList[i].quest_code == 23)    //&& questAcessList[i].questEquipment == 지금 장착한 장비)
                {
                    playerQuestList[FindNameToQuestInfo(questAcessList[i].quest_name).quest_code].questItemCur++;

                    break;
                }
                else if (questAcessList[i].quest_code == 23)
                {
                    playerQuestList[FindNameToQuestInfo(questAcessList[i].quest_name).quest_code].questItemCur++;
                    break;
                }
                else
                {
                    playerQuestList[FindNameToQuestInfo(questAcessList[i].quest_name).quest_code].questItemCur++;
                    break;
                }

            case QuestType.Repeat:
                if (questAcessList[i].questItemCur < questAcessList[i].questItemMax)
                {
                    playerQuestList[FindNameToQuestInfo(questAcessList[i].quest_name).quest_code].questItemCur++;
                }
                break;

            case QuestType.Gold_Collect:
            {
                questAcessList[i].questItemCur = capital.money;
                playerQuestList[FindNameToQuestInfo(questAcessList[i].quest_name).quest_code].questItemCur = capital.money;
            }
            break;

            case QuestType.GetItem_Type_Kill:
            {
                if (sc.GetIsUnlocked(questAcessList[i].quest_reward_item) == false)
                {
                    sc.UnlockCode(questAcessList[i].quest_reward_item);
                }

                if (questAcessList[i].questItemCur < questAcessList[i].questItemMax && ps.GetComponent <Base_Weapon>().m_code == questAcessList[i].quest_reward_item && questAcessList[i].questmonstercode == monsterCode)
                {
                    playerQuestList[FindNameToQuestInfo(questAcessList[i].quest_name).quest_code].questItemCur++;
                }
            }
            break;
            }
        }

        //gameObject.transform.GetComponent<QuestUI>().QuestBoardSetting();
        // 라우터 ( Quest item )
        if (questAcessList.Count != 0)
        {
            networkRouter.PostRouter(PostType.PLAYER_QUEST_ITEM_UPDATE, playerQuestList[questAcessList[i - 1].quest_code]);
        }
    }
Exemplo n.º 9
0
 public static int getMonsterCount(Region region, MonsterCode monsterCode)
 {
     int total = 0;
     foreach(Monster tempMonster in region.getMonsters())
     {
         if(tempMonster.monsterCode == monsterCode)
         {
             total = total + 1;
         }
     }
     return total;
 }
Exemplo n.º 10
0
 public MonsterData GetMonsterData(MonsterCode code)
 {
     return(m_monsterData[(int)code]);
 }
        public static double getSpawnRate(MonsterCode monsterCode)
        {
            switch(monsterCode)
            {
                case MonsterCode.GHOST:
                return 0.25;

                case MonsterCode.SPONGE:
                return 0.005;

                case MonsterCode.SLIME:
                return 0.005;

                case MonsterCode.TINY_SLIME:
                return 0.005;

                case MonsterCode.DEER:
                return 0.25;

                case MonsterCode.PIG:
                return 0.15;

                default:
                return 1.0;
            }
        }
        public static int getMaxMonsterPerRegion(MonsterCode monsterCode)
        {
            switch(monsterCode)
            {
                case MonsterCode.GHOST:
                return 6;

                case MonsterCode.SPONGE:
                return 3;

                case MonsterCode.SLIME:
                return 3;

                case MonsterCode.TINY_SLIME:
                return 8;

                case MonsterCode.DEER:
                return 6;

                case MonsterCode.PIG:
                return 4;

                default:
                return 1;
            }
        }