void ClientCommissionCheckCalculateLastincome()   //만기여부와 등등을 고려하여 정산할것!! 클라이언트가 qc 정산 하는 단계!
    {
        ClientIdea client = CharactorFrame.GetInstance().clientIdea;
        int        outDue = 0;

        if (client.haveComeBeforeExpire)
        {
            InGameTime clientExpire = client.GetExpire();
            InGameTime nowTime      = InGameTimeManager.GetInstance().GetNowTime();
            outDue = nowTime.GetDaysGap(clientExpire);
        }
        int lastClientPayment = PayFormula.CalculateClientRequestLastPayment(client.OriginOrderedQuest,
                                                                             client.DaysExpire,
                                                                             EventParameterStorage.GetInstance().QuestCompareCompleteness, outDue);

        GoldManager.GetInstance().AdjustGold(lastClientPayment, GoldManager.E_PayType.FROM_CLIENT);
    }
Exemplo n.º 2
0
    public string GetClientText(E_ClientState state, ClientIdea client)
    {
        string          result   = "";
        Client_TextData textData = clientText.dataArray[(int)state];

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

        case E_Language.ENGLISH:
            result = textData.Charatexteng;
            break;
        }
        int deposit = PayFormula.CalculateClientRequestDeposit(client.OriginOrderedQuest, client.DaysExpire);


        switch (state)  //치환해야하는 문자열의 경우.
        {
        case E_ClientState.COMMISSION:
            int clientLastPayin100per = PayFormula.CalculateClientRequestLastPayment(
                client.OriginOrderedQuest, client.DaysExpire, 100f, 0
                );
            result = result.Replace("[0]", deposit.ToString());
            result = result.Replace("[1]", clientLastPayin100per.ToString());
            break;

        case E_ClientState.COMMISION_MAKE_DONE:

            result = result.Replace("[0]", client.DaysExpire.ToString());
            result = result.Replace("[1]", deposit.ToString());
            break;

        case E_ClientState.CHECK_NO_EXPIRE:
            result = result.Replace("[0]", client.DaysExpire.ToString());
            break;

        case E_ClientState.CHECK_IMPERFACT_00:      //뺐을 착수금으로 치환
            result = result.Replace("[0]", deposit.ToString());
            break;

        case E_ClientState.CHECK_IMPERFACT_50:      //성공보수금으로 치환
        case E_ClientState.CHECK_IMPERFACT_80:
        case E_ClientState.CHECK_IMPERFACT_95:
        case E_ClientState.CHECK_PERFACT:
            int outDue = 0;
            if (client.haveComeBeforeExpire)
            {
                InGameTime clientExpire = client.GetExpire();
                InGameTime nowTime      = InGameTimeManager.GetInstance().GetNowTime();
                outDue = nowTime.GetDaysGap(clientExpire);
            }
            int lastClientPayment = PayFormula.CalculateClientRequestLastPayment(client.OriginOrderedQuest,
                                                                                 client.DaysExpire,
                                                                                 EventParameterStorage.GetInstance().QuestCompareCompleteness, outDue);

            result = result.Replace("[0]", lastClientPayment.ToString());
            break;
        }

        return(result);
    }