예제 #1
0
 public EventConditionModel(
     uint id,
     EventConditionType eventConditionType,
     string[] arg
     )
 {
     this.Id = id;
     this.EventConditionType = eventConditionType;
     this.Arg = arg;
 }
예제 #2
0
 /// <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);
 }
예제 #3
0
 public IEnumerable <PlayerEventModel> GetDetectable(EventConditionType eventConditionType)
 {
     return(GetAll()
            .Where(model => model.EventState == EventState.UnLock)
            .Where(model => model.HasDetectableCondition(eventConditionType)));
 }