Get_UserInfo 에서 클라 재접속 시간 계산 및 각종 시간 차감
This commit is contained in:
parent
9100f89597
commit
97fb4975bb
|
|
@ -119,11 +119,69 @@ function Add_Mail(args)
|
||||||
handlers.Get_UserInfo = function (args)
|
handlers.Get_UserInfo = function (args)
|
||||||
{
|
{
|
||||||
var readonlydata = Get_UserReadOnlyData();
|
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(
|
return Get_Return(
|
||||||
Get_Error(readonlydata, args.Token),
|
Get_Error(readonlydata, args.Token),
|
||||||
{
|
{
|
||||||
isNewUser : readonlydata.Data.UserInfo ? false : true,
|
isNewUser: NRU,
|
||||||
UserInfo: readonlydata.Data.UserInfo ? JSON.parse(readonlydata.Data.UserInfo.Value) : {},
|
ReconnectSec: sec,
|
||||||
|
UserInfo: urod ?? {},
|
||||||
Mail: readonlydata.Data.Mail ? JSON.parse(readonlydata.Data.Mail.Value) : []
|
Mail: readonlydata.Data.Mail ? JSON.parse(readonlydata.Data.Mail.Value) : []
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -3022,6 +3022,7 @@ public class SD_FarmSlot_Read
|
||||||
public class SC_GetUserInfoResult
|
public class SC_GetUserInfoResult
|
||||||
{
|
{
|
||||||
public bool isNewUser;
|
public bool isNewUser;
|
||||||
|
public int ReconnectSec;
|
||||||
public ServerData_Read UserInfo;
|
public ServerData_Read UserInfo;
|
||||||
public List<ServerMailData> Mail;
|
public List<ServerMailData> Mail;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ public class ServerInfo : MyCoroutine
|
||||||
if (InGameInfo.Ins != null)
|
if (InGameInfo.Ins != null)
|
||||||
{
|
{
|
||||||
OffLineReward.m_Sec = (int)(ServerTime - AppPauseTime).TotalSeconds;
|
OffLineReward.m_Sec = (int)(ServerTime - AppPauseTime).TotalSeconds;
|
||||||
Check_OfflineReward();
|
// TODO 정인호 : 오프라인 보상 서버 통신 필요?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -113,27 +113,6 @@ public class ServerInfo : MyCoroutine
|
||||||
Send_Log();
|
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()
|
public void Show_UpdateAppPopup()
|
||||||
{
|
{
|
||||||
#if UNITY_ANDROID
|
#if UNITY_ANDROID
|
||||||
|
|
@ -341,11 +320,11 @@ public class ServerInfo : MyCoroutine
|
||||||
var str_result = urod.FunctionResult.ToString();
|
var str_result = urod.FunctionResult.ToString();
|
||||||
var error = MyErrorCheck(str_result);
|
var error = MyErrorCheck(str_result);
|
||||||
var json = JsonConvert.DeserializeObject<SC_GetUserInfoResult>(str_result);
|
var json = JsonConvert.DeserializeObject<SC_GetUserInfoResult>(str_result);
|
||||||
|
OffLineReward.m_Sec = json.ReconnectSec;
|
||||||
|
|
||||||
if (!json.isNewUser)
|
if (!json.isNewUser)
|
||||||
{ // 기존 유저
|
{ // 기존 유저
|
||||||
m_ServerData = json.UserInfo.Get_ServerData(false);
|
m_ServerData = json.UserInfo.Get_ServerData(false);
|
||||||
//OffLineReward.m_Sec = (int)(ServerTime - m_ServerData.LastTime).TotalSeconds;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // 신규 유저
|
{ // 신규 유저
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
using CodeStage.AntiCheat.ObscuredTypes;
|
using CodeStage.AntiCheat.ObscuredTypes;
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public class OffLineReward : LobbyNonMenuBase
|
public class OffLineReward : LobbyNonMenuBase
|
||||||
|
|
|
||||||
|
|
@ -205,7 +205,7 @@ public class GameUI : MonoBehaviourSingletonTemplate<GameUI>
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
Set_BattleUI(false);
|
Set_BattleUI(false);
|
||||||
ServerInfo.Ins.Check_OfflineReward();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Set_AllUI(bool _active)
|
public void Set_AllUI(bool _active)
|
||||||
|
|
|
||||||
|
|
@ -30,14 +30,13 @@ public class NewGameUI : MonoBehaviourSingletonTemplate<NewGameUI>
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
//ServerInfo.Ins.Check_OfflineReward();
|
|
||||||
m_GuideQuestUI.Set();
|
m_GuideQuestUI.Set();
|
||||||
InGameInfo.Ins.Load_Map(-1);
|
InGameInfo.Ins.Load_Map(-1);
|
||||||
var cameraData = Camera.main.GetUniversalAdditionalCameraData();
|
var cameraData = Camera.main.GetUniversalAdditionalCameraData();
|
||||||
cameraData.cameraStack.Add(UICamera);
|
cameraData.cameraStack.Add(UICamera);
|
||||||
|
// OffLineReward // TODO 정인호 : 오프라인 보상 설정
|
||||||
|
|
||||||
Set_Noti();
|
Set_Noti();
|
||||||
ServerInfo.Ins.Check_OfflineReward();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue