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 } }