public override void OnSelectEmotion() { if (this._owner.faction == Faction.Player) { this._owner.personalEgoDetail.AddCard(1100023); this._owner.personalEgoDetail.AddCard(1100024); this._owner.personalEgoDetail.AddCard(1100025); this._owner.personalEgoDetail.AddCard(1100026); this._owner.personalEgoDetail.AddCard(1100027); return; } _remainedList.Clear(); if (!CheckBuff(WizardBufType.Potion)) { _remainedList.Add(WizardBufType.Potion); } if (!CheckBuff(WizardBufType.Pocket)) { _remainedList.Add(WizardBufType.Pocket); } if (!CheckBuff(WizardBufType.Heart)) { _remainedList.Add(WizardBufType.Heart); } if (!CheckBuff(WizardBufType.Home)) { _remainedList.Add(WizardBufType.Home); } if (!CheckBuff(WizardBufType.Change)) { _remainedList.Add(WizardBufType.Change); } WizardBufType bufType = RandomUtil.SelectOne <WizardBufType>(_remainedList); switch (bufType) { case WizardBufType.Potion: this._owner.bufListDetail.AddBuf(new BattleUnitBuf_potion()); break; case WizardBufType.Pocket: this._owner.bufListDetail.AddBuf(new BattleUnitBuf_pocket()); break; case WizardBufType.Heart: this._owner.bufListDetail.AddBuf(new BattleUnitBuf_heart()); break; case WizardBufType.Home: this._owner.bufListDetail.AddBuf(new BattleUnitBuf_home()); break; case WizardBufType.Change: this._owner.bufListDetail.AddBuf(new BattleUnitBuf_change()); break; } _selectedBuf = bufType; }
public bool CheckBuff(WizardBufType bufType) { foreach (BattleUnitModel ally in BattleObjectManager.instance.GetAliveList(this._owner.faction)) { switch (bufType) { case WizardBufType.Potion: if (ally.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_potion)) != null) { return(true); } break; case WizardBufType.Pocket: if (ally.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_pocket)) != null) { return(true); } break; case WizardBufType.Heart: if (ally.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_heart)) != null) { return(true); } break; case WizardBufType.Home: if (ally.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_home)) != null) { return(true); } break; case WizardBufType.Change: if (ally.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_change)) != null) { return(true); } break; } } return(false); }