Beispiel #1
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);
    }
Beispiel #2
0
    public virtual void Clear()
    {
        m_ulAction    = 0;
        m_ulOldAction = 0;
        m_curStatus   = ePhtatus.Stop;

        m_fHitRecoverTimer = 0.0f;
        m_fLayTimer        = 0.0f;
        m_fLayUpTimer      = 0.0f;
        m_fJumpTimer       = 0.0f;
    }