/// <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); }
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; }