Пример #1
0
 private void EvolveByResult(EvolveResult args)
 {
     foreach (var pair in args.Result)
     {
         bool deathEventIsHappended = pair.Value.DeathRuleFitResult.Contains(LifeGame.STATUS_DEATH_TRUE);
         bool rebornEventIsHappened = pair.Value.RebornRuleFitResult.Contains(LifeGame.STATUS_REBORN_TRUE);
         bool liveEventIsHappened   = pair.Value.LiveRuleFitResult.Contains(LifeGame.STATUS_LIVE_TRUE);
         var  eventArgs             = new SpaceEvolveEventArgs()
         {
             Location   = pair.Key,
             NearSpaces = pair.Value.NearSpaces
         };
         if (liveEventIsHappened)
         {
             LiveEventHappened(this, eventArgs);
         }
         if (deathEventIsHappended)
         {
             DeathEventHappened(this, eventArgs);
         }
         if (rebornEventIsHappened)
         {
             RebornEventHappened(this, eventArgs);
         }
     }
 }
Пример #2
0
 private void RebornEventHappened(object world, SpaceEvolveEventArgs args)
 {
     Reborn?.Invoke(world, args);
 }
Пример #3
0
 private void LiveEventHappened(object world, SpaceEvolveEventArgs args)
 {
     Live?.Invoke(world, args);
 }
Пример #4
0
 private void DeathEventHappened(object world, SpaceEvolveEventArgs args)
 {
     Death?.Invoke(world, args);
 }