/*
     * 렌탈할 수 있는 무기들을 보여줌.
     */
    void InitRentalWeaponList()
    {
        for (int i = 0; i < rentalWeaponListViewContents.transform.childCount; i++)
        {
            Destroy(rentalWeaponListViewContents.transform.GetChild(i).gameObject);
        }

        HunterIdea hunter = CharactorFrame.GetInstance().hunterIdea;

        rCombo = new rentalWeaponCombo(hunter.EquipCap);

        EquipText.text = hunter.EquipCap.ToString();

        List <Weapon> nowInven = Inventory.GetInstance().GetWeaponInvenTypes();//현재 갖고있는 무기 중 하나씩만 가져옴.

        for (int i = 0; i < nowInven.Count; i++)
        {
            int        num  = i;
            GameObject temp = Instantiate(weaponBtn, rentalWeaponListViewContents.transform);
            SetTxtsWeaponBtn(nowInven[i], temp);
            temp.GetComponent <Button>().onClick.AddListener(
                () => {
                AudioThing.GetInstance().PlaySFX(AudioThing.E_SFX.CLICK);
                rCombo.SelectRentalWeapon(num);
            }
                );
            rCombo.SetWeaponCombo(num, temp, nowInven[i]);
        }
    }
Esempio n. 2
0
    public string[] GetHunter_PlayerText(E_HunterState state, HunterIdea hunter)
    {
        string          pt1      = null;
        string          pt2      = null;
        Hunter_TextData textData = hunterText.dataArray[(int)state];

        switch (LanguageManager.GetInstance().Language)
        {
        case E_Language.KOREAN:
            pt1 = textData.Playertext1kor;
            pt2 = textData.Playertext2kor;
            break;

        case E_Language.ENGLISH:
            pt1 = textData.Playertext1eng;
            pt2 = textData.Playertext2eng;
            break;
        }
        string[] result;
        if (pt2 == "-")
        {
            result    = new string[1];
            result[0] = pt1;
        }
        else
        {
            result    = new string[2];
            result[0] = pt1;
            result[1] = pt2;
        }
        return(result);
    }
Esempio n. 3
0
    void ShowNowCFrame()
    {
        HunterIdea ch = CharactorFrame.GetInstance().hunterIdea;
        ClientIdea cc = CharactorFrame.GetInstance().clientIdea;

        if (ch == null && cc == null)
        {
            EditorGUILayout.LabelField("현재 캐릭터 프레임 = 널");
            return;
        }
        if (ch != null && cc != null)
        {
            Debug.LogError("캐릭터 프레임에 현재 헌터 클라이언트 모두 있음" + ch.CharaName + cc.CharaName);
            return;
        }
        if (ch != null)
        {
            EditorGUILayout.LabelField("현재 캐릭터 프레임 = 헌터" + ch.CharaName);
            ShowCharaIdea(ch);
            return;
        }
        if (cc != null)
        {
            EditorGUILayout.LabelField("현재 캐릭터 프레임 = 클라이언트" + cc.CharaName);
            ShowCharaIdea(cc);
            return;
        }
    }
    public void HunterReturnRental()    //온리 로직단이라고 보면됨. 렌탈했던 무기를 반납하는 거임.
    {
        //대여했던 무가 반납.(ui아니고 메소드로써 역할임.)
        HunterIdea    hunter = CharactorFrame.GetInstance().hunterIdea;
        List <Weapon> nowBrokenRentaledWeapons = hunter.HandInRentaledWeaponsNotBroken();    //알아서 안 부서진 것만 줌.

        Inventory.GetInstance().AddWeaponsToInven(nowBrokenRentaledWeapons);
    }
    CharactorIdea GambleGetNewbie()
    {
        bool makeNewbie = (Random.Range(0, 2) == 1) ? makeNewbie = true : makeNewbie = false;

        E_Charactor charaType = (E_Charactor)(Random.Range(0, (int)E_Charactor.MAX));

        if (QuestManager.GetInstance().QuestDic.Count == 0) //현재 퀘스트가 한 개도 없으면 확정으로 클라이언트 생성.
        {
            charaType  = E_Charactor.CLIENT;
            makeNewbie = true;
        }

        if (!makeNewbie)
        {
            return(null);               //캐릭터를 새로 생성 안하는 경우도 있음.
        }
        string charaName = TextManager.GetInstance().GetNewbieName();

        CharactorIdea newbie    = null;
        int           spriteNum = Random.Range(0, SpriteManager.GetInstance().charactorSprites.Length); //캐릭터 스프라이트는... 그냥 랜덤으로...

        switch (charaType)
        {
        case E_Charactor.CLIENT:
            newbie = new ClientIdea(spriteNum, charaName);
            break;

        case E_Charactor.HUNTER:
            float nowQuestsAverageCap = Mathf.Floor(QuestManager.GetInstance().GetAverageQuestCap());
            //현재 퀘스트에 올라온 평균 능력치의 절반 부터 평균치의 1~2.5배 능력치 중에서 랜덤
            float hunterCap = Mathf.Floor(Random.Range(
                                              nowQuestsAverageCap / 2,
                                              checked (
                                                  nowQuestsAverageCap * Random.Range(1f, 2.5f)
                                                  )));

            newbie = new HunterIdea(spriteNum, charaName, hunterCap);
            break;
        }
        return(newbie);


        /*
         *
         * CharactorIdea tempforDebugNewbie;
         #if UNITY_EDITOR
         * //모킹
         * if(ds.GetInstance().clientBorn)
         * tempforDebugNewbie = new ClientIdea(0, tempName, E_Personality.CHEAP);
         * //새로운 캐릭터 생성.
         * else
         *  tempforDebugNewbie = new HunterIdea(1, tempName, E_Personality.CHEAP, hunterCap);
         #endif
         * return tempforDebugNewbie;
         */
    }
 public void AddHunter(HunterIdea hunter)
 {
     if (hunter == null)
     {
         Debug.LogError("헌터가 없음.");
     }
     if (QuestManager.GetInstance().GetQuest(hunter.associatedQuestKey) == null)
     {
         Debug.LogError("연관된 퀘스트가 존재하지 않음.");
     }
     huntersWhoHaveQuest.Add(hunter);
 }
    /*
     * 헌터의 스텟 세팅
     */
    void InitHunterStat()
    {
        HunterIdea hunter = CharactorFrame.GetInstance().hunterIdea;

        hunterImage.sprite         = hunter.CharaSprite;
        hunterImage.preserveAspect = true;
        hunterNameText.text        = hunter.CharaName;
        hunterCapText.text         = hunter.HuntingCapabillity.ToString();
        questCapText.text          = "";
        hunterCap = hunter.HuntingCapabillity;
        hunterCapPlusByWeaponRental = 0;
    }
Esempio n. 8
0
    void ShowCharaIdea(CharactorIdea ci)
    {
        // Debug.Log(ci.CharaName);
        HunterIdea hunter = ci as HunterIdea;
        ClientIdea client = ci as ClientIdea;

        if (hunter != null)
        {
            EditorGUILayout.TextField("☆★헌터", ci.CharaName);
            EditorGUILayout.ObjectField(ci.CharaSprite, typeof(Sprite), true);
            EditorGUILayout.TextField("연관키", ci.associatedQuestKey);

            if (hunter.GetExpire() != null)
            {
                EditorGUILayout.TextField("헌터 겟 익스파이어.", hunter.GetExpire().ToString());
            }
            else
            {
                EditorGUILayout.TextField("헌터 겟 익스파이어.", "아직 존재 안함.");
            }



            EditorGUILayout.Toggle("커미션 가진 여부", ci.hasCommission);

            EditorGUILayout.TextField("밑은 헌팅 리스트 ,  만기여부=", hunter.haveComeBeforeExpire.ToString());
            int idx = 0;
            if (hunter.HuntedList != null)
            {
                foreach (QuestPerMob qpm in hunter.HuntedList)
                {
                    EditorGUILayout.TextField("QPM [" + idx + "]", qpm.ToString());
                    idx++;
                }
            }
            else
            {
                EditorGUILayout.TextField("헌팅 리스트 존재하지 않아.", "");
            }
        }
        else
        {
            EditorGUILayout.TextField("☆★클라이언트", ci.CharaName);
            EditorGUILayout.ObjectField(ci.CharaSprite, typeof(Sprite), true);
            EditorGUILayout.TextField("연관키", ci.associatedQuestKey);
            EditorGUILayout.Toggle("커미션 가진 여부", ci.hasCommission);
            EditorGUILayout.TextField("설정된 만기 기간은 = ", client.DaysExpire.ToString());

            EditorGUILayout.TextField("밑은 의뢰인 오리진 퀘스트, 만기 텀 여부는", client.haveComeBeforeExpire.ToString());
            ShowQuest(client.OriginOrderedQuest);
        }
    }
    public List <HunterIdea> GetHunterListSave()
    {
        List <HunterIdea> temp = new List <HunterIdea>();

        for (int i = 0; i < charaList.Count; i++)
        {
            HunterIdea hunter = charaList[i] as HunterIdea;
            if (hunter != null)
            {
                temp.Add(hunter);
                Debug.Log(hunter.CharaName + "이 무기를 들고 있는 지여부 = " + hunter.DidRentalWeapon());
            }
        }
        return(temp);
    }
    public void HunterRewardCalculate(E_RewardType type) //헌터 보상 정산만.
    {
        HunterIdea         hunter       = CharactorFrame.GetInstance().hunterIdea;
        Quest              writtenQuest = QuestManager.GetInstance().GetQuest(hunter.associatedQuestKey);
        List <QuestPerMob> huntedList   = hunter.HuntedList;
        int hunterExpireTerm            = hunter.GetHunterExpireGap();
        int hunterPayment = PayFormula.CalculateHuntLastPayment(writtenQuest, hunterExpireTerm, huntedList, type);

        GoldManager.GetInstance().AdjustGold(-1 * hunterPayment, GoldManager.E_PayType.TO_HUNTER);

        if (type != E_RewardType.PAYMENT_DENY)
        {
            Inventory.GetInstance().AddMobEviByList(CharactorFrame.GetInstance().hunterIdea.HuntedList);
        }
    }
Esempio n. 11
0
    public string GetHunterText(E_HunterState state, HunterIdea hunter)
    {
        string          result   = "";
        Hunter_TextData textData = hunterText.dataArray[(int)state];

        switch (LanguageManager.GetInstance().Language)
        {
        case E_Language.KOREAN:
            result = textData.Charatextkor;
            break;

        case E_Language.ENGLISH:
            result = textData.Charatexteng;
            break;
        }
        return(result);
    }
Esempio n. 12
0
    void SetQDHunterBtnTexts(GameObject btn, HunterIdea hunter)
    {
        btn.transform.GetChild(0).GetComponent <Text>().text = hunter.CharaName;
        btn.transform.GetChild(1).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("inven", "huntercap");
        btn.transform.GetChild(2).GetComponent <Text>().text = hunter.GetHuntCapabillityForRealhunt().ToString();
        btn.transform.GetChild(3).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("inven", "hunterday");
        btn.transform.GetChild(4).GetComponent <Text>().text = LanguageManager.GetInstance().GetDateString(hunter.QuestTakeOnDay);
        btn.transform.GetChild(5).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("inven", "rentals");

        Sprite weaponSprite = null;
        Color  wcolor       = new Color(1, 1, 1, 0);

        if (hunter.DidRentalWeapon())
        {
            for (int i = 0; i < 3; i++)
            {
                int num = 6 + i;
                if (i < hunter.RentalWeapon.Count)
                {
                    weaponSprite = SpriteManager.GetInstance().GetWeaponSprite(hunter.RentalWeapon[i].weaponType);
                    wcolor       = Color.white;
                }
                else
                {
                    weaponSprite = null;
                    wcolor       = new Color(1, 1, 1, 0);
                }
                btn.transform.GetChild(num).GetComponent <Image>().sprite = weaponSprite;
                btn.transform.GetChild(num).GetComponent <Image>().color  = wcolor;
            }
        }
        else
        {
            btn.transform.GetChild(6).GetComponent <Image>().sprite = weaponSprite;
            btn.transform.GetChild(6).GetComponent <Image>().color  = wcolor;
            btn.transform.GetChild(7).GetComponent <Image>().sprite = weaponSprite;
            btn.transform.GetChild(7).GetComponent <Image>().color  = wcolor;
            btn.transform.GetChild(8).GetComponent <Image>().sprite = weaponSprite;
            btn.transform.GetChild(8).GetComponent <Image>().color  = wcolor;
        }
    }
    public void HunterInquireQuestSubmit(string Qkey, bool didDetermined, List <Weapon> rentalSelected) //헌터에게 퀘스트를 맡기고 렌탈등과 퀘스트 등과 선택 했을 때.
    {
        if (!didDetermined)                                                                             //ui에서 제출이면 true 인자로 넣어서 보내주기!
        {
            EventParameterStorage.GetInstance().PlayerChoice = false;
            CharactorFrame.GetInstance().UpdateFSM();
            return;
        }

        EventParameterStorage.GetInstance().PlayerChoice = true;
        HunterIdea hunter        = CharactorFrame.GetInstance().hunterIdea;
        Quest      selectedQuest = QuestManager.GetInstance().GetQuest(Qkey);

        //본래 퀘스트의 만기보다 하루 빨리. 그리고 10시~ 17시 사이를 랜덤으로 지정.
        InGameTime dayOneMinus  = InGameTime.GetOnlyOneDayMinus(selectedQuest.ExpireDate);
        uint       hour         = (uint)Random.Range(Constant.dayStartHour, Constant.dayEndHour - 1);
        InGameTime hunterExpire = new InGameTime(dayOneMinus.Year, dayOneMinus.Month, dayOneMinus.Day, hour, 0);

        hunter.SetHasCommission(Qkey);
        hunter.SetHuntExpireDay(hunterExpire);

        if (rentalSelected != null)
        {
            //렌탈 처리 해주기.
            hunter.SetRentalTheseWeapon(rentalSelected);
            Inventory.GetInstance().RemoveWeaponsFromInven(rentalSelected);//렌탈해간 물건들 인벤에서 뺴주는 처리.
        }

        WholeMonsterRiskManager.GetInstance().AddHunter(hunter);    //수임을 받은날 위협도 매니져에서 일함.(그 날의 데이오프 부터)

        QuestRoomSceneUIManager.GetInstance().OnlyShowMainUIOrigin();

        int deposit = PayFormula.CalculateHuntDeposit(selectedQuest, hunter.GetHunterExpireGap());   //헌터 착수금 지불.

        GoldManager.GetInstance().AdjustGold(-1 * deposit, GoldManager.E_PayType.TO_HUNTER);

        CharactorFrame.GetInstance().UpdateFSM();
    }
Esempio n. 14
0
 public void ResetIdeas()
 {
     clientIdeaFrame = null;
     hunterIdeaFrame = null;
 }
Esempio n. 15
0
    protected override void MakeTransitions(FSMState state, E_HunterState e)
    {
        state.ClearTransitions();
        switch (e)
        {
        case E_HunterState.IDLE:
            state.AddTransitions(
                new MyTransition(
                    () =>
            {
                bool hasCommision = true;          //캐릭터 틀에서 수임 여부
                hasCommision      = CharactorFrame.GetInstance().hunterIdea.hasCommission;

                if (hasCommision)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            },
                    GetState(E_HunterState.HUNT_REWARD),
                    GetState(E_HunterState.INQUIRE_QUEST)
                    )
                );
            break;

        case E_HunterState.INQUIRE_QUEST:
            state.AddTransitions(new PlayerChoiceTransition(
                                     GetState(E_HunterState.INQUIRE_QUEST_SELECT_START)
                                     , GetState(E_HunterState.INQUIRE_QUEST_CANCEL)));
            break;

        case E_HunterState.INQUIRE_QUEST_SELECT_START:      //퀘스트 인콰이;어 ui에서 플레이어초이스에 퀘스트 선택 여부를 담음.
            state.AddTransitions(
                new PlayerChoiceTransition(
                    GetState(E_HunterState.INQUIRE_QUEST_ACCEPT), GetState(E_HunterState.INQUIRE_QUEST_CANCEL)));

            /*  무기렌탈 로직을 퀘스트 인콰이어와 합쳤음.
             * ,
             * new MyTransition(
             * ()=>
             * {
             *  bool pc = EventParameterStorage.GetInstance().PlayerChoice;
             *
             *      if (pc == true)//퀘스트 선택창의 제출 버튼을 누른것.
             *  {
             *      //요구능력 치에 따라서 징징과 어셉트를 구분해야함.
             #if DEBUG_TEST
             *      if (fsmTestHunter.GetInstance().isHuntersPowerMoreThanQuest)
             *      {
             *          return true;
             *      }
             #else
             *      if (
             *      QuestManager.GetInstance().GetQuest(
             *      EventParameterStorage.GetInstance().selectedQuestKey)
             *      .GetWeight()
             *      <=
             *      CharactorFrame.GetInstance().hunterIdea.HuntingCapabillity
             *
             *      ) //만약 헌터의 능력치가 퀘스트의 요구 능력치를 상회한다면. )
             *      {
             *          return true;
             *      }
             #endif
             *      else return false;//헌터의 능력치가 퀘스트의 요구 능력치에 못미침.
             *  }
             *  return false;   //의미 없음.
             * }
             * ,GetState(E_HunterState.INQUIRE_QUEST_ACCEPT),
             * GetState(E_HunterState.INQUIRE_QUEST_RENTAL_REQUIRE)
             * )
             *
             */


            break;

        case E_HunterState.INQUIRE_QUEST_ACCEPT:
            state.AddTransitions(new TriggerTransition(GetState(E_HunterState.LEAVE)));
            break;

        /*무기 렌탈 로직을 퀘스트 인콰이어와 합침.
         * case E_HunterState.INQUIRE_QUEST_RENTAL_REQUIRE:
         * state.AddTransitions(new PlayerChoiceTransition(GetState(E_HunterState.INQUIRE_QUEST_RENTAL_START),
         *  GetState(E_HunterState.INQUIRE_QUEST_ACCEPT)//징징 했으나 무시해서 그냥 의뢰만 받아감.
         *  ));
         * break;
         *
         * case E_HunterState.INQUIRE_QUEST_RENTAL_START:
         * state.AddTransitions(new TriggerTransition(GetState(E_HunterState.LEAVE)));
         * //무기를 빌려주든 말든 그 로직처리는 ui 제출 버튼 쪽에서 할테니까.
         * //그냥 리브 해주면 됨.
         * break;
         */

        case E_HunterState.INQUIRE_QUEST_CANCEL:
            state.AddTransitions(new TriggerTransition(GetState(E_HunterState.LEAVE)));
            break;

        case E_HunterState.HUNT_REWARD:
            state.AddTransitions(
                new MyTransition(
                    () =>
            {
                bool rentalSth      = true;       //캐릭터 틀이든 뭐든 대여한 무기가 있는지, 없는지 검사함.
                bool isRentalBroken = true;       //무기의 내구도 도 조건이야...
                HunterIdea hunter   = CharactorFrame.GetInstance().hunterIdea;
                rentalSth           = hunter.DidRentalWeapon();

                if (rentalSth)
                {
                    isRentalBroken = hunter.IsBrokenRental();
                }

                if (rentalSth && isRentalBroken)             //빌린게 있음. 그리고 그것은 부서진 것이 존재한다.
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
                    , GetState(E_HunterState.HUNT_REWARD_RETURN_OF_RENTAL_BROKEN), null
                    )
                ,
                new MyTransition(
                    () =>
            {
                bool rentalSth      = true;       //캐릭터 틀이든 뭐든 대여한 무기가 있는지, 없는지 검사함.
                bool isRentalBroken = true;       //무기의 내구도 도 조건이야...

                HunterIdea hunter = CharactorFrame.GetInstance().hunterIdea;
                rentalSth         = hunter.DidRentalWeapon();

                if (rentalSth)
                {
                    isRentalBroken = hunter.IsBrokenRental();
                }
                if (rentalSth && !isRentalBroken)             //빌린게 있음.
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
                    , GetState(E_HunterState.HUNT_REWARD_RETURN_OF_RENTAL_NOT_BROKEN), null
                    )
                ,
                new MyTransition(
                    () =>
            {
                bool rentalSth = true;           //캐릭터 틀이든 뭐든 대여한 무기가 있는지, 없는지 검사함.
                bool expired   = true;           //만기에 늦었는지.

                HunterIdea hunter = CharactorFrame.GetInstance().hunterIdea;
                rentalSth         = hunter.DidRentalWeapon();


                expired = hunter.haveComeBeforeExpire;

                if (!rentalSth && expired)             //빌린게 있음.
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
                    , GetState(E_HunterState.HUNT_REWARD_EXPIRED), null
                    )
                ,
                new MyTransition(
                    () =>
            {
                bool rentalSth = true;           //캐릭터 틀이든 뭐든 대여한 무기가 있는지, 없는지 검사함.
                bool expired   = true;           //만기에 늦었는지.

                HunterIdea hunter = CharactorFrame.GetInstance().hunterIdea;
                rentalSth         = hunter.DidRentalWeapon();
                expired           = hunter.haveComeBeforeExpire;

                if (!rentalSth && !expired)             //빌리지 않았고, 만기에 늦지도 않았음.
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
                    , GetState(E_HunterState.HUNT_REWARD_START), null
                    )
                );

            break;

        case E_HunterState.HUNT_REWARD_RETURN_OF_RENTAL_NOT_BROKEN:
            state.AddTransitions(
                new MyTransition(
                    () =>
            {
                bool expired      = true;      //만기 전에 왔었는지 어쟀는지.
                HunterIdea hunter = CharactorFrame.GetInstance().hunterIdea;
                expired           = hunter.haveComeBeforeExpire;
                if (expired)            //만지 전에 왔었다가 그냥 갔음.
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
                    , GetState(E_HunterState.HUNT_REWARD_EXPIRED),
                    GetState(E_HunterState.HUNT_REWARD_START)
                    ));
            break;

        case E_HunterState.HUNT_REWARD_RETURN_OF_RENTAL_BROKEN:
            state.AddTransitions(
                new MyTransition(
                    () =>
            {
                bool expired      = true;     //만기 전에 왔었는지 어쟀는지.
                HunterIdea hunter = CharactorFrame.GetInstance().hunterIdea;
                expired           = hunter.haveComeBeforeExpire;
                if (expired)           //만지 전에 왔었다가 그냥 갔음.
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
                    , GetState(E_HunterState.HUNT_REWARD_EXPIRED),
                    GetState(E_HunterState.HUNT_REWARD_START)
                    ));
            break;

        case E_HunterState.HUNT_REWARD_EXPIRED:
            state.AddTransitions(new TriggerTransition(GetState(E_HunterState.HUNT_REWARD_START)));
            break;

        case E_HunterState.HUNT_REWARD_START:
            state.AddTransitions(
                new MyTransition(
                    () =>
            {
                int pmc = EventParameterStorage.GetInstance().PlayerMultipleChoice;
                if (pmc == 0)            //완전지불이면
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
                    , GetState(E_HunterState.HUNT_REWARD_ALL_PAYMENT), null
                    ),
                new MyTransition(
                    () =>
            {
                int pmc = EventParameterStorage.GetInstance().PlayerMultipleChoice;
                if (pmc == 2)            //지불 거부, 거래쫑이면.
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
                    , GetState(E_HunterState.HUNT_REWARD_DENIED), null
                    ),
                new MyTransition(
                    () =>
            {
                int pmc     = EventParameterStorage.GetInstance().PlayerMultipleChoice;
                bool beSulk = true;

                beSulk = CharactorFrame.GetInstance().hunterIdea.IsSulked();
                if (pmc == 1)            //부분지불이면
                {
                    if (false == beSulk) //성격 등등을 통해 갬블하고
                                         //삐쳤으면 거래 거부 해버림.
                                         //안 삐쳤으면 부분 지불 받고 감.
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    Debug.LogError("EPS에러." + pmc);
                    return(false);
                }
            }
                    , GetState(E_HunterState.HUNT_REWARD_PARTIAL_PAYMENT), GetState(E_HunterState.HUNT_REWARD_DENIED)
                    )
                );
            break;

        case E_HunterState.HUNT_REWARD_ALL_PAYMENT:
            state.AddTransitions(new TriggerTransition(GetState(E_HunterState.LEAVE)));
            break;

        case E_HunterState.HUNT_REWARD_PARTIAL_PAYMENT:
            state.AddTransitions(new TriggerTransition(GetState(E_HunterState.LEAVE)));
            break;

        case E_HunterState.HUNT_REWARD_DENIED:
            state.AddTransitions(new TriggerTransition(GetState(E_HunterState.LEAVE)));
            break;

        case E_HunterState.LEAVE:
            break;
        }
    }
Esempio n. 16
0
 public void SetHunterIdea(HunterIdea hd)
 {
     hunterIdeaFrame = hd;
 }
Esempio n. 17
0
    void Init()
    {
        HunterIdea hunter = CharactorFrame.GetInstance().hunterIdea;

        Debug.Log("헌터 리워드, 원래 헌터." + hunter.HuntedList.DebugString());

        List <QuestPerMob> huntingOutcome;
        var hol = from ho in hunter.HuntedList
                  orderby(int) ho.mob
                  select ho;

        huntingOutcome = hol.ToList <QuestPerMob>();

        for (int i = 0; i < huntingOutcome.Count; i++)
        {
            QuestPerMob qpm  = huntingOutcome[i];
            GameObject  temp = Instantiate(itemBtn, hunterBringContent.transform);
            SetTxtsItem(qpm, temp);
        }
        List <QuestPerMob> writtenQuestList = QuestManager.GetInstance().GetQuest(
            hunter.associatedQuestKey
            ).QuestList;

        var wql = from wq in writtenQuestList
                  orderby(int) wq.mob
                  select wq;

        writtenQuestList = wql.ToList <QuestPerMob>();

        for (int i = 0; i < writtenQuestList.Count; i++)
        {
            QuestPerMob qpm  = writtenQuestList[i];
            GameObject  temp = Instantiate(itemBtn, writtenQuestContent.transform);
            SetTxtsItem(qpm, temp);
        }
        completeness = QuestManager.GetInstance().GetQuest(hunter.associatedQuestKey).GetCompleteness
                           (hunter.HuntedList);

        hunterName.text       = hunter.CharaName;
        completenessText.text = completeness.ToString();

        if (completeness <= 50)
        {
            completenessText.color = Color.red;
        }
        else if (completeness < 80)
        {
            completenessText.color = Color.yellow;
        }
        else
        {
            completenessText.color = Color.green;
        }


        allPayGolds = PayFormula.CalculateHuntLastPayment(QuestManager.GetInstance().GetQuest(
                                                              hunter.associatedQuestKey
                                                              ),
                                                          hunter.GetHunterExpireGap(),
                                                          hunter.HuntedList, E_RewardType.ALL_PAYMENT);

        partialPayGolds = PayFormula.CalculateHuntLastPayment(QuestManager.GetInstance().GetQuest(
                                                                  hunter.associatedQuestKey),
                                                              hunter.GetHunterExpireGap()
                                                              , hunter.HuntedList, E_RewardType.PARTIAL_PAYMENT);

        //지불 금액 텍스트 표시.
        allPaymentText.text = allPayGolds.ToString() + " " + paymentTxt;

        if (completeness < 100 && completeness > 0)
        {
            partialPaymentText.text = partialPayGolds.ToString() + " " + paymentTxt;
        }
        else
        {
            partialBtn.interactable = false;
            partialPaymentText.text = "";
        }

        denyPaymentText.text = "0 " + paymentTxt;
    }