private SkillInstanceInfo NewInnerSkillInstanceImpl(int skillId, SkillInstance innerInstance)
        {
            int newSkillId = CalcUniqueInnerSkillId(skillId, innerInstance);

            if (newSkillId <= 0)
            {
                return(null);
            }
            SkillInstance newInst = innerInstance.Clone();

            newInst.DslSkillId = skillId;

            SkillInstanceInfo res = new SkillInstanceInfo();

            res.m_SkillId       = skillId;
            res.m_SkillInstance = newInst;
            res.m_IsUsed        = true;

            AddSkillInstanceInfoToPool(newSkillId, res);
            return(res);
        }