Esempio n. 1
0
        public List <int> GetSkillCombo()
        {
            List <int> result = new List <int>();
            int        id     = RandomGetSkill();

            if (id < 0)
            {
                AiSkillComboList aiSkillComboConfig = AiSkillComboListProvider.Instance.GetDataById(id * -1);
                if (null != aiSkillComboConfig)
                {
                    result = aiSkillComboConfig.SkillList;
                }
            }
            else
            {
                result.Add(id);
            }
            return(result);
        }
Esempio n. 2
0
        public override bool IsSatifyUser(CharacterInfo entity)
        {
            List <int> skillList = Converter.ConvertNumericList <int>(Config.ActionParam);
            long       curTime   = TimeUtility.GetServerMilliseconds();

            for (int i = 0; i < skillList.Count; i++)
            {
                if (skillList[i] > 0)
                {
                    if (entity.GetSkillStateInfo().GetSkillInfoById(skillList[i]) == null)
                    {
                        return(false);
                    }
                    SkillInfo skillInfo = entity.GetSkillStateInfo().GetSkillInfoById(skillList[i]);
                    if (null == skillInfo || skillInfo.IsInCd(curTime / 1000.0f))
                    {
                        return(false);
                    }
                }
                else
                {
                    AiSkillComboList aiSkillComboConfig = AiSkillComboListProvider.Instance.GetDataById(skillList[i] * -1);
                    if (null != aiSkillComboConfig)
                    {
                        for (int j = 0; j < aiSkillComboConfig.SkillList.Count; j++)
                        {
                            if (entity.GetSkillStateInfo().GetSkillInfoById(aiSkillComboConfig.SkillList[i]) == null)
                            {
                                return(false);
                            }
                            SkillInfo skillInfo = entity.GetSkillStateInfo().GetSkillInfoById(aiSkillComboConfig.SkillList[i]);
                            if (null == skillInfo || skillInfo.IsInCd(curTime / 1000.0f))
                            {
                                return(false);
                            }
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            /*
             * foreach (int comboId in skillList) {
             * if (comboId > 0) {
             *  if (entity.GetSkillStateInfo().GetSkillInfoById(comboId) == null) {
             *    return false;
             *  }
             * } else {
             *  AiSkillComboList aiSkillComboConfig = AiSkillComboListProvider.Instance.GetDataById(comboId * -1);
             *  if (null != aiSkillComboConfig) {
             *    foreach (int skillId in aiSkillComboConfig.SkillList) {
             *      if (entity.GetSkillStateInfo().GetSkillInfoById(skillId) == null) {
             *        return false;
             *      }
             *    }
             *  } else {
             *    return false;
             *  }
             * }
             * }*/
            return(true);
        }