private void ActivateBossResult(int i, ref BossStatChanger changer) { SingleContract contract = contracts[i]; switch (contract.ResultClass) { case ResultClass.BossHealth: changer.changedHealthAmount += (int)contract.ResultValue; PlayerStatus.instance.AddEffectQueue(new ContractEffect(ResultClass.BossHealth, contract.ResultValue, false)); break; } }
private BossStatChanger BossContractCheck() { BossStatChanger changer = new BossStatChanger(); for (int i = 0; i < contracts.Count; i++) { SingleContract contract = contracts[i]; if (contract.ConditionClass != ConditionClass.MaxHealth) { continue; } if (contract.isAgree == false) { continue; } switch (contract.ConditionType) { case ConditionType.Less: if (PlayerStatus.instance.MaxHealth < contract.ConditionValue) { ActivateBossResult(i, ref changer); } break; case ConditionType.Greater: if (PlayerStatus.instance.MaxHealth >= contract.ConditionValue) { ActivateBossResult(i, ref changer); } break; } } return(changer); }