Exemplo n.º 1
0
        /// <summary>创建武将</summary>
        private RoleItem CreateRoleItem(BaseRoleInfo baserole, tg_user user, BaseIdentity baseIdentity)
        {
            var role = new tg_role
            {
                role_id       = baserole.id,
                role_identity = baseIdentity.id,
                base_captain  = baserole.captain,
                base_force    = baserole.force,
                base_brains   = baserole.brains,
                base_charm    = baserole.charm,
                base_govern   = baserole.govern,
                power         = baserole.power,
                att_life      = baserole.life,
                user_id       = user.id,
                role_state    = (int)RoleStateType.IDLE,
                role_level    = 1,
            };

            return(new RoleItem()
            {
                Kind = role,
                LifeSkill = new tg_role_life_skill(),
                FightSkill = new List <tg_role_fight_skill>(),
            });
        }
Exemplo n.º 2
0
    /// <summary>
    /// 设置Role初始数据 创建gameObject
    /// </summary>
    /// <param name="baseInfo"></param>
    /// <param name="initInfo"></param>
    public bool InitBaseRole(string handleName, BaseRoleInfo baseInfo, MapRoleInfo initInfo)
    {
        if (baseInfo == null || initInfo == null)
        {
            m_bStarted = false;
            return(false);
        }
        // 初始化数据
        m_sHandleName = handleName;
        m_eRoleType   = (eRoleType)initInfo.RoleType;
        m_baseInfo    = baseInfo;
        m_initInfo    = initInfo;
        m_fWidth      = baseInfo.Width;
        m_fHeight     = baseInfo.Height;
        m_fPosX       = initInfo.InitPosX;
        m_fPosY       = initInfo.InitPosY;
        int curHp = initInfo.InitHP;

        if (curHp == -1)
        {
            m_iCurHp = m_baseInfo.MaxHp;
        }
        else
        {
            m_iCurHp = curHp;
        }
        m_ulAction  = (ulong)initInfo.InitStatus;
        m_curStatus = (ePhtatus)m_ulAction;
        m_bIsStatic = initInfo.IsStatic;
        m_bCanMove  = initInfo.CanMove;

        // 初始化ShowObject
        GameObject prefabObj = Resource.LoadObj(m_baseInfo.PrefabName) as GameObject;

        if (null == prefabObj)
        {
            m_bStarted = false;
            return(false);
        }
        GameObject showObj = GameObject.Instantiate(prefabObj);

        showObj.name = "actor";
        GlobalVarFun.AttachChild(gameObject, showObj);
        m_showObj = showObj;

        // 初始化m_mapRole
        if (m_mapRole == null)
        {
            m_mapRole = new MapRole(this);
        }
        m_mapRole.OnChangeMap(MapManager.Instance.curMapWorld, m_fPosX, m_fPosY, m_fWidth, m_fHeight);
        m_mapRole.SetInitData(m_baseInfo, m_initInfo);


        Clear();
        m_bStarted = true;
        return(true);
    }
Exemplo n.º 3
0
 public void SetInitData(BaseRoleInfo baseInfo, MapRoleInfo node)
 {
     // 添加Map的速度参数
     MaxVelocity = new Vector2(baseInfo.VelocityX + 0.1f, baseInfo.VelocityY + 0.1f);
     if (m_body != null)
     {
         //MapFunctions.SetCollisionGroup(m_body, 0, node.InitCategories, node.InitCollideCats);
     }
 }
Exemplo n.º 4
0
    public bool AddRoleObj(string handleName, GameObject roleObj, MapRoleInfo initInfo)
    {
        BaseRole baseRole = null;

        if (true == initInfo.CanControl)
        {
            baseRole = CreatePlayer(roleObj);
        }
        else
        {
            baseRole = CreateBaseRole(roleObj);
        }
        if (baseRole == null)
        {
            return(false);
        }

        BaseRoleInfo baseInfo = RoleDataManager.Instance.GetRoleBaseInfo(initInfo.RoleID);

        if (baseInfo == null)
        {
            GameObject.Destroy(roleObj);
            return(false);
        }
        bool setSuc = baseRole.InitBaseRole(handleName, baseInfo, initInfo);

        if (setSuc)
        {
            GameObject sideObj = GetSideObj(initInfo.RoleType);
            if (sideObj == null)
            {
                sideObj = m_rootObj;
            }
            GlobalVarFun.AttachChild(sideObj, roleObj);
            m_roleDic.Add(handleName, baseRole);
        }
        else
        {
            GameObject.Destroy(roleObj);
            return(false);
        }
        return(true);
    }
Exemplo n.º 5
0
    /// <summary>
    /// 初始化RoleDataManage 其实是加载RoleData文件
    /// </summary>
    public void Init()
    {
        // 读取数据
        InfoNodeList viList = InfoNodeHelper.ReadFromCSV(GlobalVarFun.m_streamAssets + "Role/RoleData.csv");

        if (null == viList)
        {
            m_bIsInited = false;
            return;
        }
        string[] arrKeys = viList.m_nodeList.Keys.ToArray();
        for (int i = 0; i < viList.Count; i++)
        {
            InfoNode vi = viList.m_nodeList[arrKeys[i]];
            if (vi != null)
            {
                BaseRoleInfo roleData = new BaseRoleInfo(vi);
                m_roleDataDic.Add(roleData.RoleID, roleData);

                UnityEngine.Debug.Log("RoleDataManager.cs  ---  LoadAllRoleData : " + roleData.RoleID + " : " + roleData.Name);
            }
        }
        m_bIsInited = true;
    }