当前位置: 首页 > news >正文

网站设计和内容上的不足和建议wordpress整站加密

网站设计和内容上的不足和建议,wordpress整站加密,怎样做网站 知乎,重庆网站seo推广公司文章目录 简介实例1#xff1a;玩家与UI交互实例2#xff1a;战斗模块中的攻击事件协调实例3#xff1a;游戏场景中的事件广播实例4#xff1a;模块间通信 - 地图导航与角色移动实例5#xff1a;UI模块间同步 - 菜单切换与选项状态 简介 在Unity游戏开发中#xff0c;中… 文章目录 简介实例1玩家与UI交互实例2战斗模块中的攻击事件协调实例3游戏场景中的事件广播实例4模块间通信 - 地图导航与角色移动实例5UI模块间同步 - 菜单切换与选项状态 简介 在Unity游戏开发中中介者Mediator模式用于降低多个对象之间的耦合度通过引入一个中介类来封装和管理对象间的交互。下面我将提供五个简化的代码实例来说明如何在Unity项目中应用中介者模式 实例1玩家与UI交互 // 定义用户界面组件接口 public interface IUiComponent {void UpdateHealth(int health);void UpdateScore(int score); }// 玩家类实现UI组件接口的更新方法调用 public class Player : MonoBehaviour {private Mediator _mediator;public void SetMediator(Mediator mediator){_mediator mediator;}// 当玩家生命值改变时通知中介者更新UIpublic void ChangeHealth(int amount){int newHealth GetHealth() amount;_mediator.UpdateHealth(newHealth);}// 获取当前生命值的方法实际项目中会有具体实现private int GetHealth() { return 100; } }// UI面板类实现IUiComponent接口 public class HealthAndScoreUI : MonoBehaviour, IUiComponent {public void UpdateHealth(int health){// 更新UI显示的生命值Debug.Log(Updating health to: health);}public void UpdateScore(int score){// 更新UI显示的分数Debug.Log(Updating score to: score);} }// 中介者类 public class Mediator {private IUiComponent _ui;public void RegisterUi(IUiComponent ui){_ui ui;}public void UpdateHealth(int health){if (_ui ! null)_ui.UpdateHealth(health);}// 同理可以定义UpdateScore等方法 }// 在场景初始化或Awake阶段进行关联 public class GameManager : MonoBehaviour {public Mediator Mediator;public Player Player;public HealthAndScoreUI HealthScoreUI;void Start(){Player.SetMediator(Mediator);Mediator.RegisterUi(HealthScoreUI);} }实例2战斗模块中的攻击事件协调 public interface IBattleParticipant {void ReceiveDamage(int damage);void Attack(IBattleParticipant target); }public class Warrior : MonoBehaviour, IBattleParticipant {private Mediator _mediator;public void SetMediator(Mediator mediator){_mediator mediator;}public void AttackButtonClicked(){_mediator.Attack(this);}public void ReceiveDamage(int damage){// 实际处理伤害逻辑}public void Attack(IBattleParticipant target){// 计算并发出攻击int attackDamage CalculateAttackDamage();_mediator.DistributeDamage(this, target, attackDamage);}// 其他战斗相关方法... }public class BattleMediator {private ListIBattleParticipant _participants;public void RegisterParticipant(IBattleParticipant participant){_participants.Add(participant);}public void DistributeDamage(IBattleParticipant attacker, IBattleParticipant defender, int damage){defender.ReceiveDamage(damage);}// 其他战斗协调逻辑... }实例3游戏场景中的事件广播 public class SceneMediator {private ListIMediatorListener _listeners;public void RegisterListener(IMediatorListener listener){_listeners.Add(listener);}public void UnregisterListener(IMediatorListener listener){_listeners.Remove(listener);}public void NotifyPlayerJoined(Player player){foreach (var listener in _listeners){listener.OnPlayerJoined(player);}}// 其他事件通知方法... }public interface IMediatorListener {void OnPlayerJoined(Player player); }public class ScoreKeeper : MonoBehaviour, IMediatorListener {public void OnPlayerJoined(Player player){// 更新玩家加入后的得分信息} }public class ChatManager : MonoBehaviour, IMediatorListener {public void OnPlayerJoined(Player player){// 在聊天频道广播玩家加入消息} }实例4模块间通信 - 地图导航与角色移动 public interface INavigationRequestor {void RequestMove(Vector3 destination); }public class CharacterController : MonoBehaviour, INavigationRequestor {private NavigationMediator _mediator;public void SetNavigationMediator(NavigationMediator mediator){_mediator mediator;}public void MoveToTargetPosition(Vector3 position){_mediator.RequestMove(position);} }public class NavigationMediator {private IAstarPathFinder _pathFinder;public void RegisterPathFinder(IAstarPathFinder pathFinder){_pathFinder pathFinder;}public void RequestMove(Vector3 destination){var path _pathFinder.FindPath(transform.position, destination);// 处理路径规划结果并通知CharacterController开始移动} }public interface IAstarPathFinder {ListVector3 FindPath(Vector3 start, Vector3 end); }实例5UI模块间同步 - 菜单切换与选项状态 public interface IMenuComponent {void EnableMenu();void DisableMenu();void NotifyOptionChanged(string optionName, object newValue); }public class MainMenu : MonoBehaviour, IMenuComponent {private MenuMediator _mediator;public void SetMediator(MenuMediator mediator){_mediator mediator;}public void OnSettingsButtonClicked(){_mediator.ToggleMenuToShow(SettingsMenu.instance);}// 实现菜单启用、禁用以及选项更改的通知方法 }public class SettingsMenu : MonoBehaviour, IMenuComponent {// 实现菜单组件接口的方法// ...public void OnResolutionChange(int width, int height){Screen.SetResolution(width, height, true);_mediator.NotifyOptionChanged(Resolution, new Resolution(width, height));} }public class MenuMediator {private IMenuComponent _currentActiveMenu;public void RegisterMenu(IMenuComponent menu){if (_currentActiveMenu null)ActivateMenu(menu);}public void ToggleMenuToShow(IMenuComponent newMenu){DeactivateCurrentMenu();ActivateMenu(newMenu);}private void ActivateMenu(IMenuComponent menu){_currentActiveMenu menu;_currentActiveMenu.EnableMenu();}private void DeactivateCurrentMenu(){if (_currentActiveMenu ! null){_currentActiveMenu.DisableMenu();_currentActiveMenu null;}}public void NotifyOptionChanged(string optionName, object newValue){// 根据optionName更新所有关联菜单的状态或其他模块响应选项更改} }以上每个例子都展示了中介者模式如何在不同场景下作为沟通桥梁减少直接依赖简化了各个模块之间的交互逻辑。 python推荐学习汇总连接 50个开发必备的Python经典脚本(1-10) 50个开发必备的Python经典脚本(11-20) 50个开发必备的Python经典脚本(21-30) 50个开发必备的Python经典脚本(31-40) 50个开发必备的Python经典脚本(41-50) ———————————————— ​最后我们放松一下眼睛
http://www.pierceye.com/news/833843/

相关文章:

  • 自己做装修网站需要多少钱太仓建设网站
  • 湘潭做网站电话磐石网络龙岩kk社区
  • 重庆孝爱之家网站建设哪里可以做期货网站平台
  • 建设网站价位视频网站开发防止盗链
  • 制作网站的难度如何提网站建设需求
  • 做网上竞彩网站合法吗找工作用什么平台最好
  • 石家庄模板网站建网站要钱吗 优帮云
  • wap 网站 源码制作手游需要学什么软件
  • 自己做网站怎样挣钱个人网站模板 php
  • 新加坡建设局网站网站建设资料清单
  • 做网站用什么语言制作最安全?网站设计酷站
  • 河南省做网站的公司个人网站可以做电商吗
  • 专门做家教的网站网站开发大学
  • 资源专业网站优化排名wordpress 调用 置顶
  • 网站的建设维护网站换空间有影响吗
  • 兰州网站建设公南昌做网站的
  • 网站菜单样式襄樊公司网站建设
  • 学校网站建设平台wordpress 4.9.2
  • 开o2o网站需要什么手续企业微信开放平台
  • 网站开发 外文文献移动网站制作价格
  • 如何做网站的版块规划舆情监测
  • 怎么给公司注册网站二级域名的网站备案
  • 网站制作费用多少网页制作公司接单
  • ps做网站效果图房产网站cms
  • 在线教育网站建设公司互联网公司网站建设ppt模板下载
  • 泰国一家做男模的网站深圳福田有什么好玩的地方
  • 网站顶部图片素材个人备案号 可以做游戏网站吗
  • hk域名网站深圳龙华住房和建设局网站
  • 涞源网站建设搭建wordpress配置
  • 英文网站推广工作深圳制作网站有几家