protected void registeAnimation(HUMAN_ACTION action, string name, bool loop = false) { if (mAnimationList.ContainsKey(action)) { mAnimationList[action].Clear(); } else { mAnimationList.Add(action, new List <HumanAnimInfo>()); } for (int i = 0; i < GameDefine.DIRECTION_COUNT; ++i) { // 根据当前角色数据从数据库查询本地数据 List <WeaponFrameData> weaponDataList; mSQLiteWeaponFrame.query(mData.mWeaponID, i, name, out weaponDataList); if (weaponDataList.Count != 1) { logError("weapon info error!"); return; } List <ClothFrameData> clothDataList; mSQLiteClothFrame.query(mData.mClothID, i, name, out clothDataList); if (clothDataList.Count != 1) { logError("cloth info error!"); return; } List <Vector2> weaponPosList = new List <Vector2>(); for (int j = 0; j < weaponDataList[0].mFrameCount; ++j) { weaponPosList.Add(new Vector2(weaponDataList[0].mPosX[j], weaponDataList[0].mPosY[j])); } List <Vector2> humanPosList = new List <Vector2>(); for (int j = 0; j < clothDataList[0].mFrameCount; ++j) { humanPosList.Add(new Vector2(clothDataList[0].mPosX[j], clothDataList[0].mPosY[j])); } HumanAnimInfo info = new HumanAnimInfo(); info.mDirection = i; info.mLoop = loop; info.mName = name; info.mHumanAnim = name + "_dir" + i; info.mWeaponAnim = name + "_dir" + i; info.mHumanFrameCount = clothDataList[0].mFrameCount; info.mWeaponFrameCount = weaponDataList[0].mFrameCount; info.mWeaponPos = weaponPosList; info.mHumanPos = humanPosList; mAnimationList[action].Add(info); } }
// 播放当前动作 public void playAnimation(HumanAnimInfo animInfo, float animSpeed = GameDefine.NORMAL_ANIM_SPEED) { //mAvatar.play(animInfo, null, null, animInfo.mLoop, animSpeed); }