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); }
public int GetHunterExpireGap() { return(questHuntExpireDay.GetDaysGap(questTakeOnDay)); }
public List <QuestPerMob> HuntingAtNight(out bool isLastDayHunt) //위협 매니저에서 밤에 얘를 호출. { Quest quest = QuestManager.GetInstance().GetQuest(associatedQuestKey); if (quest == null || !hasCommission) { isLastDayHunt = true; Debug.LogError("헌팅 나이트 불려오면 안됨."); return(null); } InGameTime nowTime = InGameTimeManager.GetInstance().GetNowTime(); InGameTime questExpireDay = questHuntExpireDay; int wholeQTerm = questExpireDay.GetDaysGap(questTakeOnDay); int daysAfterTakeQuest = nowTime.GetDaysGap(questTakeOnDay); //0~ 부터 기간-1 까지 나옮. if (wholeQTerm <= 0) { isLastDayHunt = true; Debug.LogError("헌터" + charaName + " 헌팅나이트 수임 부터 만기 까지 0일 이하임." + wholeQTerm + "퀘스트 만기 = " + questExpireDay + "퀘스트 입기" + questTakeOnDay); return(null); } if (daysAfterTakeQuest >= wholeQTerm) { isLastDayHunt = true; Debug.Log(charaName + " 헌터는 이미 만기일이 지났으므로 사냥을 하지 않아용"); return(null); } if (huntedList == null) { huntedList = new List <QuestPerMob>(); } List <QuestPerMob> orderedQuest = quest.QuestList; List <QuestPerMob> tonightHunted; float huntCapTillTonight = (GetHuntCapabillityForRealhunt() / wholeQTerm) * (daysAfterTakeQuest + 1); //능력치를 전체 기간으로 나누고 수임한 날부터 이 밤까지 곱해서 나오는 값. Debug.LogFormat("{0}의 밤사냥 {1} 일 기간 , 수임날 부터 {2} 지남 , 전체 헌터 무기포함 능력치 = {3} , 오늘 사용할 수 있는 능력치 = {4} , 지금까지 잡은 목록 = {5}", charaName, wholeQTerm, daysAfterTakeQuest, GetHuntCapabillityForRealhunt(), huntCapTillTonight, huntedList.DebugString()); if (daysAfterTakeQuest == wholeQTerm - 1) //마지막 날임. { isLastDayHunt = true; tonightHunted = HuntCompactOrder(orderedQuest, huntCapTillTonight); Debug.LogFormat("{0}이 오늘 잡은 목록 - 컴팩트 오더 {1}", charaName, tonightHunted.DebugString()); huntedList.AddQPMList(tonightHunted); BrakeGambleRentalWeapons(); //사냥 할때 마다 갬블을 한 번씩. return(tonightHunted); } isLastDayHunt = false; //수임~ 만기 까지의 마지막 밤이 아닌 밤임. tonightHunted = HuntBigOrder(orderedQuest, huntCapTillTonight); Debug.LogFormat("{0}이 오늘 잡은 목록 - 빅 오더 {1}", charaName, tonightHunted.DebugString()); huntedList.AddQPMList(tonightHunted); BrakeGambleRentalWeapons(); return(tonightHunted); }
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); }
public int GetDaysAfterGameStart() { return(mainTime.GetDaysGap(Constant.GameStartTime)); }