Get_UserInfo 에서 클라 재접속 시간 계산 및 각종 시간 차감
This commit is contained in:
parent
9100f89597
commit
97fb4975bb
|
|
@ -119,11 +119,69 @@ function Add_Mail(args)
|
|||
handlers.Get_UserInfo = function (args)
|
||||
{
|
||||
var readonlydata = Get_UserReadOnlyData();
|
||||
var NRU = readonlydata.Data.UserInfo ? false : true;
|
||||
var sec = 0;
|
||||
var urod = null;
|
||||
|
||||
if (!NRU)
|
||||
{
|
||||
urod = Get_JsonUserData(readonlydata);
|
||||
var curTime = Get_CurKoreaTime();
|
||||
var lastTime = new Date(urod.LastTime);
|
||||
|
||||
sec = Math.max(0, Math.floor((curTime - lastTime) / 1000));
|
||||
|
||||
if (sec > 0)
|
||||
{
|
||||
for (var i = 0; i < urod.Farm.Slot.length; i++)
|
||||
{
|
||||
if (urod.Farm.Slot[i].Time > 0)
|
||||
{
|
||||
urod.Farm.Slot[i].Time -= sec;
|
||||
if (urod.Farm.Slot[i].Time < 0) urod.Farm.Slot[i].Time = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < urod.Farm.Shop.length; i++)
|
||||
{
|
||||
if (urod.Farm.Shop[i][2] > 0)
|
||||
{
|
||||
urod.Farm.Shop[i][2] -= sec;
|
||||
if (urod.Farm.Shop[i][2] < 0) urod.Farm.Shop[i][2] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for (var key in urod.Shop)
|
||||
{
|
||||
if (urod.Shop.hasOwnProperty(key))
|
||||
{
|
||||
if (urod.Shop[key][2] > 0)
|
||||
{
|
||||
urod.Shop[key][2] -= sec;
|
||||
if (urod.Shop[key][2] < 0) urod.Shop[key][2] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < urod.Buff.Time.length; i++)
|
||||
{
|
||||
if (urod.Buff.Time[i] > 0)
|
||||
{
|
||||
urod.Buff.Time[i] -= sec;
|
||||
if (urod.Buff.Time[i] < 0) urod.Buff.Time[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
}
|
||||
}
|
||||
|
||||
return Get_Return(
|
||||
Get_Error(readonlydata, args.Token),
|
||||
{
|
||||
isNewUser : readonlydata.Data.UserInfo ? false : true,
|
||||
UserInfo: readonlydata.Data.UserInfo ? JSON.parse(readonlydata.Data.UserInfo.Value) : {},
|
||||
isNewUser: NRU,
|
||||
ReconnectSec: sec,
|
||||
UserInfo: urod ?? {},
|
||||
Mail: readonlydata.Data.Mail ? JSON.parse(readonlydata.Data.Mail.Value) : []
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -3022,6 +3022,7 @@ public class SD_FarmSlot_Read
|
|||
public class SC_GetUserInfoResult
|
||||
{
|
||||
public bool isNewUser;
|
||||
public int ReconnectSec;
|
||||
public ServerData_Read UserInfo;
|
||||
public List<ServerMailData> Mail;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ public class ServerInfo : MyCoroutine
|
|||
if (InGameInfo.Ins != null)
|
||||
{
|
||||
OffLineReward.m_Sec = (int)(ServerTime - AppPauseTime).TotalSeconds;
|
||||
Check_OfflineReward();
|
||||
// TODO 정인호 : 오프라인 보상 서버 통신 필요?
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -113,27 +113,6 @@ public class ServerInfo : MyCoroutine
|
|||
Send_Log();
|
||||
}
|
||||
|
||||
public void Check_OfflineReward()
|
||||
{
|
||||
// TODO 정인호 : 비접속 시간만큼 시간 차감
|
||||
m_ServerData.Sub_AllFarmSlotTime(OffLineReward.m_Sec); // 실제 사용 데이터
|
||||
m_ServerData.Sub_AllFarmShopTime(OffLineReward.m_Sec); // 실제 사용 데이터
|
||||
|
||||
//m_ServerData.Sub_AllGambleADTime(OffLineReward.m_Sec); // 광고 뽑기
|
||||
m_ServerData.Sub_ShopADTime(-1, OffLineReward.m_Sec); // 상점 광고
|
||||
//m_ServerData.Sub_Common(eCommon.CloverShopResetTime, OffLineReward.m_Sec); // 클로버 상점 초기화 시간
|
||||
|
||||
//if (OffLineReward.m_Sec >= 300)
|
||||
// GameUI.Ins.LobbyUI.Get_OffLineReward().Set();
|
||||
//else
|
||||
//{
|
||||
// OffLineReward.m_Sec = 0;
|
||||
// OffLineReward.m_Sec.RandomizeCryptoKey();
|
||||
//}
|
||||
|
||||
OffLineReward.m_Sec = 0; // 위 주석으로 인해 일단 넣어둠
|
||||
}
|
||||
|
||||
public void Show_UpdateAppPopup()
|
||||
{
|
||||
#if UNITY_ANDROID
|
||||
|
|
@ -341,11 +320,11 @@ public class ServerInfo : MyCoroutine
|
|||
var str_result = urod.FunctionResult.ToString();
|
||||
var error = MyErrorCheck(str_result);
|
||||
var json = JsonConvert.DeserializeObject<SC_GetUserInfoResult>(str_result);
|
||||
OffLineReward.m_Sec = json.ReconnectSec;
|
||||
|
||||
if (!json.isNewUser)
|
||||
{ // 기존 유저
|
||||
m_ServerData = json.UserInfo.Get_ServerData(false);
|
||||
//OffLineReward.m_Sec = (int)(ServerTime - m_ServerData.LastTime).TotalSeconds;
|
||||
}
|
||||
else
|
||||
{ // 신규 유저
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
using CodeStage.AntiCheat.ObscuredTypes;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class OffLineReward : LobbyNonMenuBase
|
||||
|
|
|
|||
|
|
@ -205,7 +205,7 @@ public class GameUI : MonoBehaviourSingletonTemplate<GameUI>
|
|||
private void Start()
|
||||
{
|
||||
Set_BattleUI(false);
|
||||
ServerInfo.Ins.Check_OfflineReward();
|
||||
|
||||
}
|
||||
|
||||
public void Set_AllUI(bool _active)
|
||||
|
|
|
|||
|
|
@ -30,14 +30,13 @@ public class NewGameUI : MonoBehaviourSingletonTemplate<NewGameUI>
|
|||
|
||||
private void Start()
|
||||
{
|
||||
//ServerInfo.Ins.Check_OfflineReward();
|
||||
m_GuideQuestUI.Set();
|
||||
InGameInfo.Ins.Load_Map(-1);
|
||||
var cameraData = Camera.main.GetUniversalAdditionalCameraData();
|
||||
cameraData.cameraStack.Add(UICamera);
|
||||
// OffLineReward // TODO 정인호 : 오프라인 보상 설정
|
||||
|
||||
Set_Noti();
|
||||
ServerInfo.Ins.Check_OfflineReward();
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
|
|
|
|||
Loading…
Reference in New Issue