197 lines
4.6 KiB
C#
197 lines
4.6 KiB
C#
using Code.Scripts.Gameplay.Game;
|
|
using Cysharp.Threading.Tasks;
|
|
using Gameplay.Character;
|
|
using Gameplay.Net;
|
|
using Gameplay.Unit;
|
|
using Gameplay.Unit.Data;
|
|
using System.ComponentModel;
|
|
|
|
public partial class SROptions
|
|
{
|
|
|
|
private bool _useFullCharacters;
|
|
|
|
[Category("GM"), DisplayName("使用全角色")]
|
|
public bool UseFullCharacters
|
|
{
|
|
get { return _useFullCharacters; }
|
|
set { _useFullCharacters = value; }
|
|
}
|
|
|
|
[Category("GM"), DisplayName("添加所有角色")]
|
|
public void ForceAddAllRoles()
|
|
{
|
|
CharacterDataInfoManager.Instance.AddAllCfgCharacter();
|
|
VehicleCultivateDataManager.Instance.AddAllCfgVehicles();
|
|
}
|
|
|
|
|
|
[Category("GM"), DisplayName("己方无敌")]
|
|
public bool SelfUnbeatable
|
|
{
|
|
|
|
get { return _selfUnbeatable; }
|
|
|
|
set { _selfUnbeatable = value; }
|
|
|
|
}
|
|
|
|
private bool _selfUnbeatable = false;
|
|
|
|
|
|
|
|
[Category("GM"), DisplayName("敌方无敌")]
|
|
public bool EnemyUnbeatable
|
|
{
|
|
|
|
get { return _enemyUnbeatable; }
|
|
|
|
set { _enemyUnbeatable = value; }
|
|
|
|
}
|
|
|
|
private bool _enemyUnbeatable = false;
|
|
|
|
private int _emojiId;
|
|
|
|
[Category("GM"), DisplayName("表情ID")]
|
|
public int EmojiId
|
|
{
|
|
get { return _emojiId; }
|
|
set
|
|
{
|
|
if (_emojiId.Equals(value)) return;
|
|
_emojiId = value;
|
|
SetEmoji();
|
|
}
|
|
}
|
|
|
|
|
|
[Category("GM"), DisplayName("设置表情")]
|
|
public void SetEmoji()
|
|
{
|
|
var allUnits = GameUnitManager.instance.infightUnits;
|
|
for (int i = 0; i < allUnits.count; i++)
|
|
{
|
|
var unit = allUnits.GetByIndex(i);
|
|
if (unit.gameunitType != EGameUnitType.Character) continue;
|
|
|
|
if (unit is Character character)
|
|
character.emojiManager.SwitchEmoji(_emojiId);
|
|
}
|
|
}
|
|
|
|
[Category("GM"), DisplayName("机器人数据初始化")]
|
|
public void SendRobotTestInit()
|
|
{
|
|
if (UnityEngine.Application.isPlaying)
|
|
{
|
|
Gameplay.Net.NetHelper.RobotTestInit();
|
|
}
|
|
}
|
|
|
|
[Category("GM"), DisplayName("进入测试剧情")]
|
|
public void EnterStory()
|
|
{
|
|
GameStateManager.Instance.ChangeState(new GameStateStory("1"));
|
|
}
|
|
|
|
|
|
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;
|
|
_itemId = value;
|
|
}
|
|
}
|
|
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);
|
|
|
|
|
|
}
|
|
|
|
|
|
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";
|
|
|
|
}
|
|
}
|