Пример #1
0
    public List <RoleTypeInfo> ParseRoleJson()
    {
        roleTypeInfoList = new List <RoleTypeInfo>();
        TextAsset  roleText = Resources.Load <TextAsset>("RoleTypeInfos");
        string     roleJson = roleText.ToString();
        JSONObject j        = new JSONObject(roleJson);

        foreach (JSONObject temp in j.list)
        {
            RoleTypeInfo roleTypeInfo = new RoleTypeInfo();
            roleTypeInfo.roleType     = (RoleType)Enum.Parse(typeof(RoleType), temp["roleTypeString"].str);
            roleTypeInfo.prefabPath   = temp["prefabPath"].str;
            roleTypeInfo.maxHP        = (int)temp["maxHP"].n;
            roleTypeInfo.strength     = (int)temp["strength"].n;
            roleTypeInfo.intellect    = (int)temp["intellect"].n;
            roleTypeInfo.agility      = (int)temp["agility"].n;
            roleTypeInfo.stamina      = (int)temp["stamina"].n;
            roleTypeInfo.attack       = (int)temp["attack"].n;
            roleTypeInfo.attackDis    = temp["attackDis"].n;
            roleTypeInfo.attackPrefab = temp["attackPrefab"].str;
            roleTypeInfo.headPortrait = temp["headPortrait"].str;
            roleTypeInfoList.Add(roleTypeInfo);
        }
        return(roleTypeInfoList);
    }
Пример #2
0
 /// <summary>
 /// 初始化角色属性
 /// </summary>
 /// <param name="roleTypeInfo"></param>
 public void SetAttri(RoleTypeInfo roleTypeInfo)
 {
     this.roleType     = roleTypeInfo.roleType;
     this.attackDis    = roleTypeInfo.attackDis;
     this.attackPrefab = roleTypeInfo.attackPrefab;
     this.basicHP      = roleTypeInfo.maxHP;
     strength          = this.basicStrength = roleTypeInfo.strength;
     intellect         = this.basicIntellect = roleTypeInfo.intellect;
     agility           = this.basicAgility = roleTypeInfo.agility;
     stamina           = this.basicStamina = roleTypeInfo.stamina;
     attack            = this.basicAttack = roleTypeInfo.attack;
     currentHP         = MaxHP;
 }
Пример #3
0
    public void SpawnRole(RoleType roleType)
    {
        roletypeInfo = model.GetRoleTypeInfo(roleType);
        GameObject temp = Resources.Load <GameObject>(roletypeInfo.prefabPath);

        role = Instantiate(temp, new Vector3(0, 0.5f, 0), Quaternion.identity);
        cameraManager.FollowRole(role);
        role.GetComponent <RoleData>().SetAttri(roletypeInfo);
        switch (roleType)
        {
        case RoleType.Archer:
            role.AddComponent <ArcherControl>().enabled = false;
            break;

        case RoleType.Mage:
            role.AddComponent <MageControl>().enabled = false;
            break;

        default:
            role.AddComponent <PlayerControl>().enabled = false;
            break;
        }
        Model.Instance.SetRoleData(role.GetComponent <RoleData>());
    }