EscapeShooter/My project/Assets/Project Files/Game/Scripts/Drop/CharacterDropBehavior.cs

40 lines
1.3 KiB
C#

using UnityEngine;
namespace Watermelon.SquadShooter
{
public class CharacterDropBehavior : BaseDropBehavior
{
[SerializeField] CharacterData character;
[SerializeField] int characterLevel;
public void SetCharacterData(CharacterData character, int characterLevel)
{
if (character == null)
{
Debug.LogError("Character data is null!");
return;
}
this.character = character;
this.characterLevel = characterLevel;
}
/// <summary>
/// Applies the reward for picking up the weapon card drop.
/// </summary>
/// <param name="autoReward">Whether to automatically reward the player.</param>
public override void ApplyReward(bool autoReward = false)
{
CharacterBehaviour characterBehaviour = CharacterBehaviour.GetBehaviour();
if (characterBehaviour != null)
{
CharacterStageData currentStage = character.GetStage(characterLevel);
CharacterUpgrade currentUpgrade = character.GetUpgrade(characterLevel);
characterBehaviour.SetGraphics(currentStage.Prefab, false, false);
characterBehaviour.SetStats(currentUpgrade.Stats);
}
}
}
}