using Continentis.MainGame; using Continentis.MainGame.Character; using UnityEngine; namespace Continentis.Mods.Basic.Buffs { public class Heavy : CharacterCombatBuffBase { private readonly bool isAdditive; public Heavy(bool additive = false, int actionCount = 1) { Initialize(BuffType.Negative, BuffDispelLevel.Basic); this.isAdditive = additive; this.contentSubmodule = new ContentSubmodule(this) .AddParameterGetter("Count", () => actionCountSubmodule.remainingCount.ToString()); this.iconSubmodule = new IconSubmodule(this); this.actionCountSubmodule = new CountSubmodule(this, actionCount); this.statusSubmodule = new StatusSubmodule(this, StatusType.Heavy); } public override bool OnBuffApply(out CharacterCombatBuffBase existingBuff) { MainGameManager.Instance.basePrefabs.GenerateInfoText("Heavy", attachedCharacter.characterView); if (FindExistingSameBuff(out existingBuff)) { if (this.isAdditive) //可叠加型状态 { existingBuff.actionCountSubmodule.AddCount(this.actionCountSubmodule.maximumCount); } return false; } return true; } } }