public EventConditionModel( uint id, EventConditionType eventConditionType, string[] arg ) { this.Id = id; this.EventConditionType = eventConditionType; this.Arg = arg; }
/// <summary> /// 検証に使用する条件があるかを検査する /// done になっていない条件の中から該当の条件を抜き出す /// </summary> /// <param name="eventConditionType"></param> /// <returns></returns> public bool HasDetectableCondition(EventConditionType eventConditionType) { foreach (var eventConditionModel in this.EventModel.EventConditionModels) { // done に該当のモデルがあれば見ない if (this.doneEventConditionModels.IndexOf(eventConditionModel) >= 0) { continue; } if (eventConditionModel.EventConditionType == eventConditionType) { return(true); } } return(false); }
public IEnumerable <PlayerEventModel> GetDetectable(EventConditionType eventConditionType) { return(GetAll() .Where(model => model.EventState == EventState.UnLock) .Where(model => model.HasDetectableCondition(eventConditionType))); }