GlobalConfig.cs 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. public class GlobalConfig : Singleton<GlobalConfig>
  5. {
  6. public const int c_total_fighttime_configid = 1; //战斗全局总时长
  7. public const int c_enter_bossbattle_time_config = 2; //进入boss战斗的倒计时
  8. public const int c_enter_bossrage_time_configid = 3; //boss的狂暴倒计时
  9. public const int c_skill_commoncd_configid = 4; //技能公共CD时长
  10. public const int c_refresh_monsterdistance_configid = 5; //刷怪距离镜头的距离
  11. public const int c_boss_exitbattle_configid = 6; //boss退场时长
  12. public const int c_battlesettlementtime_configid = 7; //结算界面持续时长
  13. public const int c_failurecnt_configid = 8; //累计挂机战斗失败次数配置
  14. public const int c_boss_battlepower_ratio_configid = 9; //boss狂暴提升的攻击力倍数
  15. public const int c_strategy_changedistance_configid = 10; //巡游阵型变更持续距离
  16. public const int c_strategy_keepdistance_configid = 11; //阵型保持的距离
  17. public const int c_walkspeed_configid = 12; //巡游状态的移动速度
  18. public const int c_rushspeed_configid = 13; //冲刺速度
  19. public const int c_boss_rage_attackspeed_ratio = 14; //修改攻击速度比例
  20. public const int c_boss_shock_stop_time = 15; //增加boss预警停留时长
  21. public const int c_runsmoke_effectid = 16; //扬尘特效id
  22. public const int c_shadow_effectid = 17; //阴影特效id
  23. public const int c_self_effectid = 18; //主角光环
  24. public const int c_relive_effectid = 19; //复活特效
  25. public const int c_default_dropmoney_cnt = 20; //默认金币掉落个数
  26. public const int c_default_female_model = 21; //初始默认女角色模型
  27. public const int c_default_male_model = 22; //初始默认男角色模型
  28. public const int c_default_profession = 23; //初始默认职业
  29. public const int c_default_country = 24; //初始默认国家
  30. public const int c_default_head_icon = 25; //初始默认头像
  31. public const int c_role_id = 26; //主角id配置
  32. public const int c_base_attr_id = 27; //基础属性id
  33. public const int c_maxRotate_InTeam = 28; //目标为队友时的最大转动角度
  34. public const int c_switchboss_ui_waittime = 33; //切换boss ui隐藏时长
  35. public const int c_npc_sell_limit_radius = 34; // 限制NPC附近不能摆摊的半径
  36. public const int c_npc_collider_radius = 35; // 玩家和npc之间的碰撞检测半径
  37. public const int c_npc_trigger_radius = 36; // 玩家进入npc触发事件的半径
  38. public const int c_refresh_bossdistance_configid = 40; //BOSS刷新距镜头固定距离
  39. public const int c_card_recreate_cost = 41; //卡片重置一次消耗
  40. public const int c_man_face_model_path = 42; // 男性角色脸部模型路径
  41. public const int c_woman_face_model_path = 43; // 女性角色脸部模型路径
  42. public const int c_man_base_model_path = 44; // 男性角色基本模型路径
  43. public const int c_woman_base_model_path = 45; // 女性角色基本模型路径
  44. public const int c_miniRewardTime_cfg_id = 47; // 领取奖励最少时间
  45. public const int c_enter_transfer_effectId = 49; //进入传送点特效id
  46. public const int c_exit_transfer_effectId = 50; //离开传送特效id
  47. public const int c_transfer_effectid = 77;
  48. public const int c_gravity_cfg_id = 83;
  49. public const int c_keep_starktime_cfg_id = 84;
  50. public const int c_pauseEffect_cfg_id = 127; //开场boss暂停特写特效
  51. public const int c_arena_choosen_effectid = 165; //英灵殿选中特效
  52. public const int c_quit_battle_condition = 263; //巡遊boss 爬塔 退出按鈕出現條件
  53. public const int c_pet_scale_level = 314; //宠物等级对应体型
  54. public const int c_PressPointEffect = 40; //压制特效
  55. Dictionary<int, int> mIntValConfigDic = new Dictionary<int, int>();
  56. Dictionary<int, string> mStrValConfigDic = new Dictionary<int, string>();
  57. Dictionary<int, float> mFloatValConfigDic = new Dictionary<int, float>();
  58. public override void Init()
  59. {
  60. ReadConfig();
  61. Constants.gravity = GetConfigFloatValue(c_gravity_cfg_id);
  62. Constants.s_starkStopTime = GetConfigFloatValue(c_keep_starktime_cfg_id);
  63. }
  64. public override void UnInit()
  65. {
  66. }
  67. public int GetConfigIntValue(int id)
  68. {
  69. int iVal;
  70. mIntValConfigDic.TryGetValue(id, out iVal);
  71. return iVal;
  72. }
  73. public float GetConfigFloatValue(int id)
  74. {
  75. float fVal;
  76. mFloatValConfigDic.TryGetValue(id, out fVal);
  77. return fVal;
  78. }
  79. public string GetConfigStrValue(int id)
  80. {
  81. string sVal;
  82. mStrValConfigDic.TryGetValue(id, out sVal);
  83. return sVal;
  84. }
  85. void ReadConfig()
  86. {
  87. Dictionary<string, Dictionary<string, string>> cfg = ConfigMgr.Instance.getTable(Config.GlobalCfgName);
  88. if (cfg != null)
  89. {
  90. foreach(var p in cfg)
  91. {
  92. var key = p.Key;
  93. var dic = p.Value;
  94. int kVal = 0;
  95. if(int.TryParse(key,out kVal))
  96. {
  97. int iVal = 0;
  98. float fVal = 0;
  99. string sVal = dic["SVal"];
  100. int.TryParse(dic["IVal"], out iVal);
  101. float.TryParse(dic["FVal"], out fVal);
  102. if (iVal > 0)
  103. {
  104. mIntValConfigDic.Add(kVal, iVal);
  105. }
  106. if (fVal > 0)
  107. {
  108. mFloatValConfigDic.Add(kVal, fVal);
  109. }
  110. if (!string.IsNullOrEmpty(sVal))
  111. {
  112. mStrValConfigDic.Add(kVal, sVal);
  113. }
  114. }
  115. }
  116. }
  117. }
  118. }