public void BattlePlayerWin(Transform[] monsterTransArray) { (battlePlayerCtr.agent as Player).DestroyEquipmentInBagAttachedSkills(); battlePlayerCtr.enemy = null; battleMonsterCtr.enemy = null; // battlePlayerCtr.RemoveTriggeredSkillEffect (); // battleMonsterCtr.RemoveTriggeredSkillEffect (); FightEndCallBacks(); battlePlayerCtr.agent.ResetBattleAgentProperties(false); mapGenerator.AddAllEffectAnimToPool(); if (monsterTransArray.Length <= 0) { return; } Transform trans = monsterTransArray [0]; Vector3 monsterPos = trans.GetComponent <BattleMonsterController> ().originalPos; // 位置偏差修正 int X = Mathf.RoundToInt(monsterPos.x); int Y = Mathf.RoundToInt(monsterPos.y); mapGenerator.mapWalkableInfoArray [X, Y] = 1; Player player = battlePlayerCtr.agent as Player; player.experience += trans.GetComponent <Monster> ().rewardExperience; //更新玩家经验值 bool isLevelUp = player.LevelUpIfExperienceEnough(); //判断是否升级 if (isLevelUp) { PlayLevelUpAnim(); } Item award = null; // 怪物是普通怪 if (monsterTransArray [0].GetComponent <Monster> ().monsterId < 50) { int characterIndex = Random.Range(0, 26); char character = (char)(characterIndex + CommonData.aInASCII); award = new CharacterFragment(character, 1); } else { int randomCraftingRecipesId = Random.Range(450, 460); award = Item.NewItemWith(randomCraftingRecipesId, 1); } mapGenerator.SetUpAwardInMap(award, monsterPos); ResetCamareAndContinueMove(battleMonsterCtr.originalPos); }