using System;
using Fort23.UTool;
namespace Core.Utility
{
    public class GlobalParam
    {
        public static int Item_Coin_ID = 1001;
        public static int Item_Diamond_ID = 1002;
        public static int Item_HeroExp_ID = 1003;
        public static int RMB_1031 = 9999;
        /// 
        /// 英雄最大上阵数量
        /// 
        public static int Max_Deploy_HERO = 4;
        
        /// 
        /// 主界面英雄头像,点击后,向上偏移的位移
        /// 
        public static int Hero_Pos_Offset = 110;
        
        /// 
        /// 最大等级差
        /// 
        public static int Max_Main_Level_Difference = 10;
        
        /// 
        /// 普攻技能组
        /// 
        public static int Normal_Attack_Skill_Group_ID = 1001;
        /// 
        /// 升级时,背景高度
        /// 
        public static int Hero_Upgrade_UI_BG_Height = 283;
        /// 
        /// 仅升星时,背景高度
        /// 
        public static int Hero_Promote_UI_BG_Only_Star_Height = 283;
        /// 
        /// 升星、解锁技能时,背景高度
        /// 
        public static int Hero_Promote_UI_BG_Unlock_Skill_Height = 420;
        /// 
        /// 仅升星时,星星y的位置
        /// 
        public static int Hero_Promote_UI_BG_Star_Pos_1 = 0;
        /// 
        /// 升星、解锁技能时,星星y的位置
        /// 
        public static int Hero_Promote_UI_BG_Star_Pos_2 = 150;
        /// 
        /// 生成装备表的ID
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        public static int GenerateEquipmentID(int zy, int eqType, int dropLv, int mainLv)
        {
            int eqLv = 10;
            if (mainLv <= 10)
            {
                eqLv = 10;
            }
            else
            {
                int tmp = 5 - mainLv % 5;
                tmp = mainLv + tmp;
                eqLv = tmp + dropLv;
            }
            if (eqLv < 10)
            {
                eqLv = 10;
            }
            
            // LogTool.Log("eqLevel=" + eqLv);
            
            int equipmentConfigID = zy * 10000 + eqType * 1000 + eqLv;
            return equipmentConfigID;
        }
#if !COMBAT_SERVER
        
        /// 
        /// 生成一个基于毫秒级时间戳的 GUID
        /// 
        /// 返回一个字符串形式的 GUID
        public static string GenerateGUID()
        {
            // 获取当前的毫秒级时间戳
            long timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
            // 生成一个随机数(确保 GUID 的部分随机性)
            int randomPart = UnityEngine.Random.Range(1000, 9999);
            LogTool.Log(timestamp);
            LogTool.Log(randomPart);
            // 拼接时间戳和随机数
            return $"{timestamp}{randomPart}";
        }
#endif
    }
}