예제 #1
0
    /// <summary>
    /// 增加一个role在这个用户下
    /// </summary>
    /// <param name="type"></param>
    /// <param name="style"></param>
    /// <param name="name"></param>
    /// <returns></returns>
    public RoleInfo AddRole(CommonDefine.RoleType type)
    {
        RoleInfo roleInfo = RoleFactory.CreateRoleInfo(type);

        roleInfo = InsertRoleInfoIntoDB(roleInfo);
        AddRoleIntoUserInfo(roleInfo);

        return(roleInfo);
    }
예제 #2
0
    /// <summary>
    /// 创建一个新的角色给这个用户,放入DB
    /// </summary>
    /// <param name="type">6001</param>
    /// <param name="style">1</param>
    /// <param name="name">zzz</param>
    /// <param name="usedSkill">"1:3:4"</param>
    /// <returns></returns>
    public RoleInfo AddRoleIntoDB(CommonDefine.RoleType type)
    {
        if (m_currentUser == null)
        {
            GetCurrentUserInfo();
        }

        return(m_currentUser.AddRole(type));
    }
예제 #3
0
    public Enemy Generator(CommonDefine.RoleType roleType, int pos)
    {
        Enemy ret = null;

        RoleInfo info = RoleFactory.CreateRoleInfo(roleType);

        if (info != null)
        {
            ret = RoleManager.Instance.CreateEnemy(info, pos);
        }

        return(ret);
    }
예제 #4
0
 public void InitRoleInfo(RoleInfo roleInfo)
 {
     m_heroId      = roleInfo.id;
     m_roleInfo    = roleInfo;
     m_roleData    = RoleData.GetRoleDataByID((int)roleInfo.type);
     m_roleType    = roleInfo.type;
     m_input       = new RoleInput(this);
     m_input.Level = roleInfo.Level;
     //TODO:should calc by level
     m_input.HP      = m_roleData.hp;
     m_input.Agility = m_roleData.agility;
     InitialAbilities();
     m_overlayItemModel = new OverlayItemModel();
     InitStates();
 }
예제 #5
0
    public int AddRole(int id, CommonDefine.RoleType type, CommonDefine.RoleStyle style, int level, string name,
                       int skill1, int skill2, int skill3, int skill4, int skill5, int skill6, int skill7, string usedSkill)
    {
        object sqReader = db.InsertIntoSpecific("Role", new string[] { "type", "style", "level", "name", "skill1", "skill2", "skill3", "skill4", "skill5", "skill6", "skill7", "usedSkill" },
                                                new string[] { ((int)type).ToString(), ((int)style).ToString(), level.ToString(),
                                                               name, skill1.ToString(), skill2.ToString(), skill3.ToString(), skill4.ToString(), skill5.ToString(), skill6.ToString(), skill7.ToString(), usedSkill });

        id = -1;
        if (sqReader != null)
        {
            id = Convert.ToInt32(sqReader.ToString());
        }

        return(id);
    }
예제 #6
0
    public static GameObject CreateRoleObject(CommonDefine.RoleType roleType, CommonDefine.RoleStyle roleStyle)
    {
        string tmp = string.Empty;

        if (roleType > CommonDefine.RoleType.Hero && roleType < CommonDefine.RoleType.Enemy)
        {
            tmp = HeroPath;
        }
        else if (roleType > CommonDefine.RoleType.Enemy)
        {
            tmp = EnemyPath;
        }

        GameObject obj     = ResMgr.Instance.LoadAssetFromResource(tmp + CommonDefine.RoleNameDic[roleType]) as GameObject;
        GameObject roleObj = GameObject.Instantiate(obj);


        return(roleObj);
    }
예제 #7
0
    public static RoleInfo CreateRoleInfo(CommonDefine.RoleType roleType)
    {
        RoleInfo info     = new RoleInfo();
        RoleData roleData = RoleData.GetRoleDataByID((int)roleType);

        info.type   = roleType;
        info.style  = (CommonDefine.RoleStyle)roleData.style;
        info.Name   = roleData.name;
        info.Level  = 1;
        info.id     = Guid.NewGuid().GetHashCode();
        info.Skills = SkillGenerator.CreateDefaultSkills(roleType);
        int[] levels = ProjectHelper.InitSkillLevel(info.Skills);
        info.UpdateSkill1(levels[0]);
        info.UpdateSkill2(levels[1]);
        info.UpdateSkill3(levels[2]);
        info.UpdateSkill4(levels[3]);
        info.UpdateSkill5(levels[4]);
        info.UpdateSkill6(levels[5]);
        info.UpdateSkill7(levels[6]);

        return(info);
    }
예제 #8
0
    public static List <int> GetAvailableSkills(CommonDefine.RoleType roleType, int pos)
    {
        List <int> ret  = new List <int>();
        RoleData   role = RoleData.GetRoleDataByID((int)roleType);

        Debug.logger.Log("pos " + pos);
        List <int> poses = SkillData.GetSkillDataByID(role.skill1).positions;

        if (poses.Contains(pos))
        {
            Debug.logger.Log("role.skill1 " + role.skill1);
            ret.Add(role.skill1);
        }

        poses.Clear();
        poses = SkillData.GetSkillDataByID(role.skill2).positions;
        if (poses.Contains(pos))
        {
            Debug.logger.Log("role.skill2 " + role.skill2);
            ret.Add(role.skill2);
        }

        poses.Clear();
        poses = SkillData.GetSkillDataByID(role.skill3).positions;
        if (poses.Contains(pos))
        {
            Debug.logger.Log("role.skill3 " + role.skill3);
            ret.Add(role.skill3);
        }

        poses.Clear();
        poses = SkillData.GetSkillDataByID(role.skill4).positions;
        if (poses.Contains(pos))
        {
            Debug.logger.Log("role.skill4 " + role.skill4);
            ret.Add(role.skill4);
        }

        poses.Clear();
        poses = SkillData.GetSkillDataByID(role.skill5).positions;
        if (poses.Contains(pos))
        {
            Debug.logger.Log("role.skill5 " + role.skill5);
            ret.Add(role.skill5);
        }

        poses.Clear();
        poses = SkillData.GetSkillDataByID(role.skill6).positions;
        if (poses.Contains(pos))
        {
            Debug.logger.Log("role.skill6 " + role.skill6);
            ret.Add(role.skill6);
        }

        poses.Clear();
        poses = SkillData.GetSkillDataByID(role.skill7).positions;
        if (poses.Contains(pos))
        {
            Debug.logger.Log("role.skill7 " + role.skill7);
            ret.Add(role.skill7);
        }
        return(ret);
    }
예제 #9
0
    public static string CreateDefaultSkills(CommonDefine.RoleType roleType)
    {
        List <RandomObject> objs = new List <RandomObject>();
        RoleData            role = RoleData.GetRoleDataByID((int)roleType);
        RandomObject        ro1  = new RandomObject();

        ro1.ItemId = role.skill1;
        ro1.Weight = SkillData.GetSkillDataByID(role.skill1).weight;
        objs.Add(ro1);

        RandomObject ro2 = new RandomObject();

        ro2.ItemId = role.skill2;
        ro2.Weight = SkillData.GetSkillDataByID(role.skill2).weight;
        objs.Add(ro2);

        RandomObject ro3 = new RandomObject();

        ro3.ItemId = role.skill3;
        ro3.Weight = SkillData.GetSkillDataByID(role.skill3).weight;
        objs.Add(ro3);

        RandomObject ro4 = new RandomObject();

        ro4.ItemId = role.skill4;
        ro4.Weight = SkillData.GetSkillDataByID(role.skill4).weight;
        objs.Add(ro4);

        RandomObject ro5 = new RandomObject();

        ro5.ItemId = role.skill5;
        ro5.Weight = SkillData.GetSkillDataByID(role.skill5).weight;
        objs.Add(ro5);

        RandomObject ro6 = new RandomObject();

        ro6.ItemId = role.skill6;
        ro6.Weight = SkillData.GetSkillDataByID(role.skill6).weight;
        objs.Add(ro6);

        RandomObject ro7 = new RandomObject();

        ro7.ItemId = role.skill7;
        ro7.Weight = SkillData.GetSkillDataByID(role.skill7).weight;
        objs.Add(ro7);

        List <RandomObject> retObjs = ProjectHelper.GetRandomList <RandomObject>(objs, 4);

        if (retObjs == null)
        {
            Debug.logger.LogError("DungeonPoint", "random objet occurs error");
        }

        string ret = string.Empty;

        foreach (RandomObject obj in retObjs)
        {
            if (!string.IsNullOrEmpty(ret))
            {
                ret += ":";
            }
            ret += (obj.ItemId % (int)roleType).ToString();
        }

        return(ret);
    }