using Thousandto.Code.Center;
using Thousandto.Code.Global;
using Thousandto.Core.Support;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Thousandto.Code.Logic
{
///
/// 游戏逻辑的一些配置
///
public class LogicSetting : SettingProcessBase
{
#region //继承父类的函数,初始化,注册函数,设置默认配置
protected override void OnRegisterSettingChangedHandler()
{
base.OnRegisterSettingChangedHandler();
//AddSettingChangedHandler(GameSettingKeyCode.ShowPlayerLife, OnPlayerHUDChanged);
AddSettingChangedHandler(GameSettingKeyCode.ShowPlayerName, OnPlayerHUDChanged);
AddSettingChangedHandler(GameSettingKeyCode.ShowPlayerTitle, OnPlayerHUDChanged);
AddSettingChangedHandler(GameSettingKeyCode.ShowPlayerGuild, OnPlayerHUDChanged);
AddSettingChangedHandler(GameSettingKeyCode.ShowPetLife, OnPetHUDChanged);
AddSettingChangedHandler(GameSettingKeyCode.ShowOtherPlayer, OnShowOtherPlayerChanged);
AddSettingChangedHandler(GameSettingKeyCode.ShowMonster, OnShowMonsterChanged);
AddSettingChangedHandler(GameSettingKeyCode.NotchShow, OnNotchShowChanged);
}
//记载默认设置 -- 这里的设置都是非强制,表示如果某个配置已经被设置过了,就不在设置
protected override void OnLoadDefault(bool isforce, bool save)
{
//拒绝组队,默认关闭
GameSettingCore.SetUnSave(GameSettingKeyCode.RefuseTeam, 0, isforce);
//拒绝好友,默认关闭
GameSettingCore.SetUnSave(GameSettingKeyCode.RefuseFriend, 0, isforce);
//拒绝私聊,默认关闭
GameSettingCore.SetUnSave(GameSettingKeyCode.RefusePrivateChat, 0, isforce);
//拒绝交易,默认关闭
GameSettingCore.SetUnSave(GameSettingKeyCode.RefuseTrade, 0, isforce);
GameSettingCore.SetUnSave(GameSettingKeyCode.ShowOtherPlayer, 1, isforce);
GameSettingCore.SetUnSave(GameSettingKeyCode.ShowMonster, 1, isforce);
GameSettingCore.SetUnSave(GameSettingKeyCode.ShowPlayerLife, 0, isforce);
GameSettingCore.SetUnSave(GameSettingKeyCode.ShowPlayerName, 1, isforce);
GameSettingCore.SetUnSave(GameSettingKeyCode.ShowPlayerTitle, 1, isforce);
GameSettingCore.SetUnSave(GameSettingKeyCode.ShowPlayerGuild, 1, isforce);
GameSettingCore.SetUnSave(GameSettingKeyCode.ShowPetLife, 0, isforce);
GameSettingCore.SetUnSave(GameSettingKeyCode.CheckGroundMove, 1, isforce);
GameSettingCore.SetUnSave(GameSettingKeyCode.FightModel, 0, isforce);
GameSettingCore.SetUnSave(GameSettingKeyCode.SelectPRI, 0, isforce);
//刘海屏默认根据设备是否是刘海屏进行设置
var isNotchScreen = GameCenter.LuaSystem.GetGlobalInPath("Main.IsNotchInScreen")();
if (isNotchScreen)
{
GameSettingCore.SetUnSave(GameSettingKeyCode.NotchShow, 1, isforce);
}
else
{
GameSettingCore.SetUnSave(GameSettingKeyCode.NotchShow, 0, isforce);
}
if (save)
{
GameSettingCore.Save();
}
}
#endregion
#region //配置改变后的处理函数
//展示角色
public void OnShowOtherPlayerChanged(int value)
{
GameObjectLimit.RefreshShowPlayer();
}
//展示怪物
public void OnShowMonsterChanged(int value)
{
GameObjectLimit.RefreshShowMonster();
}
//适配刘海屏
public void OnNotchShowChanged(int value)
{
GameCenter.PushFixEvent(LogicEventDefine.EID_NOTCHSHOW_CHANGED);
}
//角色HUD的显示配置改变
public void OnPlayerHUDChanged(int value)
{
GameCenter.PushFixEvent((int)LogicEventDefine.EID_EVENT_UPDATEPLAYERHUDHEADSHOW_STATE);
}
//宠物HUD的显示配置改变
public void OnPetHUDChanged(int value)
{
GameCenter.PushFixEvent((int)LogicEventDefine.EID_EVENT_UPDATEPETHUDHEADSHOW_STATE);
}
#endregion
}
}