NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Debug/SROptions.GM.cs

182 lines
4.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using cfg.ActorCfg;
using Code.Scripts.Gameplay.Game;
using Cysharp.Threading.Tasks;
using Framework;
using Gameplay;
using Gameplay.Character;
using Gameplay.Net;
using Gameplay.Unit;
using Gameplay.Unit.Data;
using System.ComponentModel;
using System.Drawing.Text;
using Gameplay.Common;
using YooAsset;
public partial class SROptions
{
[Category("GM"), DisplayName("机器人数据初始化")]
public void SendRobotTestInit()
{
if (UnityEngine.Application.isPlaying)
{
Gameplay.Net.NetHelper.RobotTestInit();
}
}
[Category("GM"), DisplayName("测试剧情ID")]
public string testStoryId
{
get;
set;
} = "0_1_1";
[Category("GM"), DisplayName("进入测试剧情")]
public void EnterStory()
{
GameStateManager.Instance.ChangeState(new GameStateStory(testStoryId));
}
private string gc;
[Category("礼包兑换")]
public string GiftCode
{
get { return gc; }
set { gc = value; }
}
[Category("礼包兑换")]
public void DoGiftCode()
{
if (UnityEngine.Application.isPlaying)
{
Gameplay.Net.NetHelper.GiftCode(GiftCode);
}
}
[Category("屏幕适配"), DisplayName("显示UI适配安全区域")]
public bool IsShowScreenSafeArea
{
get { return DebugScreen.Instance.IsShowSafeArea; }
set
{
DebugScreen.Instance.IsShowSafeArea = value;
DebugScreen.Instance.DebugChangeShowAreaState();
}
}
[Category("角色语音开关"), DisplayName("开启角色语音")]
public bool IsOpenSpeakVoice
{
get { return AudioManager.Instance.GlobalIsSpeakOpen; }
set { AudioManager.Instance.GlobalIsSpeakOpen = value; }
}
private int _itemId;
[Category("GM增加物品"), DisplayName("物品ID")]
public int ItemId
{
get { return _itemId; }
set
{
if (_itemId.Equals(value)) return;
SetItemId(value);
_itemId = value;
}
}
private void SetItemId(int id)
{
DataItem dataItem = TableManager.Instance.Tables.Item.Get(id);
if ( dataItem==null)
{
SRDebug.Instance.ShowBugReportSheet(descriptionContent: "此ID不在item表里查一下是不是填错了");
return;
}
_itemId = id;
}
private int _itemsCount=1;
[Category("GM增加物品"), DisplayName("物品个数")]
public int ItemsCount
{
get { return _itemsCount; }
set
{
if (_itemsCount.Equals(value)) return;
_itemsCount = value;
}
}
private string GMToken = "phxh666";
[Category("GM增加物品"), DisplayName("增加指定物品")]
public async void AddItem()
{
if(_itemsCount==0)
{
return;
}
string url = GetURL(GMToken, GetIp(), Actor.Instance.Base.GetProp(NLDPB.ActorProp.ActorId).ToString());
var request = UnityEngine.Networking.UnityWebRequest.Get(url);
await request.SendWebRequest();
//DebugUtil.LogError("gm新错" + request.downloadHandler.text);
}
[Category("IAP客户端验证"), DisplayName("客户端验证")]
public bool ClientVerify
{
get { return IAPManager.Instance.ClientVerify; }
set { IAPManager.Instance.ClientVerify = value; }
}
[Category("IAP客户端验证"), DisplayName("初始化IAP")]
public void InitIAP()
{
IAPManager.Instance.ReLoad();
}
[Category("IAP客户端验证"), DisplayName("完成所有交易")]
public void ConfirmPending()
{
IAPManager.Instance.ConfirmPending();
}
[Category("删除本地缓存"), DisplayName("删除本地缓存数据")]
public void DeleteData()
{
StorageMgr.Instance.DeleteSaveData();
CrossDayChecker.Instance.DeleteSaveData = true;
}
private string GetURL(string token, string ip, string actor)
{
string param = "";
if (_itemId <= 0 || _itemsCount <= 0)
return null;
param = $"{_itemId},{_itemsCount}";
return $"http://{ip}/gm?actor_id={actor}&command=AddItem&gm_token={token}&param={param}";
}
private string GetIp()
{
var serverInfo = AppConfig.Instance.GetCurrent();
return serverInfo.addrs[0].ip + ":8080";
}
}