protected void setCurAnim(int direction, int action) { mDirection = direction; mAction = action; mCurDirectionEdit.setText("" + mDirection); mCurActionEdit.setText(mActionList[mAction]); HumanAtlas curClothAtlas = mClothResourceList[mHumanIndex]; WeaponAtlas curWeaponAtlas = mWeaponResourceList[mWeaponIndex]; HumanAnim curClothAnim = curClothAtlas.mAnimSetList[mDirection][mActionList[mAction]]; WeaponAnim curWeaponAnim = curWeaponAtlas.mAnimSetList[mDirection][mActionList[mAction]]; float playSpeed = stringToFloat(mPlaySpeed.getText()); mHumanSpriteInstance.play(curClothAnim.mTextureSet, mPlayLoop.getChecked(), playSpeed); mHumanSpriteInstance.setClothTexturePosList(findClothPosList(curClothAnim)); mHumanSpriteInstance.setWeaponTexturePosList(findWeaponPosList(curWeaponAnim)); mHumanName.setText(curClothAtlas.mAtlasName + "/" + curClothAnim.mTextureSet); checkPause(); }
protected void onRefreshClick(GameObject obj) { // 从数据库中查找 mClothResourceList.Clear(); mWeaponResourceList.Clear(); List <ClothData> clothDataList; mSQLiteCloth.queryAll(out clothDataList); int clothCount = clothDataList.Count; for (int i = 0; i < clothCount; ++i) { HumanAtlas clothAtlas = new HumanAtlas(); clothAtlas.mAtlasName = clothDataList[i].mResource; clothAtlas.mAnimSetList = new Dictionary <int, Dictionary <string, HumanAnim> >(); var animList = clothAtlas.mAnimSetList; List <ClothFrameData> frameDataList; mSQLiteClothFrame.query(clothDataList[i].mID, out frameDataList); int frameDataCount = frameDataList.Count; for (int j = 0; j < frameDataCount; ++j) { HumanAnim anim = new HumanAnim(); anim.mID = frameDataList[j].mID; anim.mAction = frameDataList[j].mAction; anim.mDirection = frameDataList[j].mDirection; anim.mTextureSet = frameDataList[j].mAction + "_dir" + frameDataList[j].mDirection; if (!animList.ContainsKey(anim.mDirection)) { animList.Add(anim.mDirection, new Dictionary <string, HumanAnim>()); } if (!animList[anim.mDirection].ContainsKey(anim.mAction)) { animList[anim.mDirection].Add(anim.mAction, anim); } } mClothResourceList.Add(clothAtlas); } List <WeaponData> weaponDataList; mSQLiteWeapon.queryAll(out weaponDataList); int weaponCount = weaponDataList.Count; for (int i = 0; i < weaponCount; ++i) { WeaponAtlas weaponAtlas = new WeaponAtlas(); weaponAtlas.mAtlasName = weaponDataList[i].mResource; weaponAtlas.mAnimSetList = new Dictionary <int, Dictionary <string, WeaponAnim> >(); var animList = weaponAtlas.mAnimSetList; List <WeaponFrameData> frameDataList; mSQLiteWeaponFrame.query(weaponDataList[i].mID, out frameDataList); int frameDataCount = frameDataList.Count; for (int j = 0; j < frameDataCount; ++j) { WeaponAnim anim = new WeaponAnim(); anim.mID = frameDataList[j].mID; anim.mAction = frameDataList[j].mAction; anim.mDirection = frameDataList[j].mDirection; anim.mTextureSet = frameDataList[j].mAction + "_dir" + frameDataList[j].mDirection; if (!animList.ContainsKey(anim.mDirection)) { animList.Add(anim.mDirection, new Dictionary <string, WeaponAnim>()); } if (!animList[anim.mDirection].ContainsKey(anim.mAction)) { animList[anim.mDirection].Add(anim.mAction, anim); } } mWeaponResourceList.Add(weaponAtlas); } mHumanCount.setLabel("数量:0/" + mClothResourceList.Count); // 设置 setCurClothAtlas(0); setCurWeaponAtlas(0); }