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 { private bool _useFullCharacters; private bool _useTestTeam; [Category("GM"), DisplayName("使用全角色")] public bool UseFullCharacters { get { return _useFullCharacters; } set { _useFullCharacters = value; } } [Category("GM"), DisplayName("使用测试编队")] public bool UseTestTeam { get { return _useTestTeam; } set { _useTestTeam = value; } } [Category("GM"), DisplayName("添加所有角色")] public void ForceAddAllRoles() { CharacterDataInfoManager.Instance.AddAllCfgCharacter(); VehicleCultivateDataManager.Instance.AddAllCfgVehicles(); } [Category("GM"), DisplayName("己方血量无敌")] public bool SelfUnbeatable { get { return CodeDefine.Fight.HP_NOCOST; } set { CodeDefine.Fight.HP_NOCOST = value; } } [Category("GM"), DisplayName("敌方血量无敌")] public bool EnemyUnbeatable { get { return CodeDefine.Fight.HP_NOCOST_ENEMY; } set { CodeDefine.Fight.HP_NOCOST_ENEMY = value; } } [Category("GM"), DisplayName("己方士气无敌")] public bool SelfMoraleUnbeatable { get { return CodeDefine.Fight.MORALE_NOCOST; } set { CodeDefine.Fight.MORALE_NOCOST = value; } } [Category("GM"), DisplayName("敌方士气无敌")] public bool EnemyMoraleUnbeatable { get { return CodeDefine.Fight.MORALE_NOCOST_ENEMY; } set { CodeDefine.Fight.MORALE_NOCOST_ENEMY = value; } } [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(); } 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}¶m={param}"; } private string GetIp() { var serverInfo = AppConfig.Instance.GetCurrent(); return serverInfo.addrs[0].ip + ":8080"; } }