public static void Add(this ActorCommonData Actor, MapItemElement Ele, int I = -1, int EliteOff = -1, bool IsMonster = false) { IMapActor Monster = new IMapActor(Actor, Ele, EliteOff, I, IsMonster); Monsters.Add(Actor.Address, Monster); MonstersAdd.Add(Monster); }
private static async Task MapWithSingleActorAsync(string fileName, IMapActor mapActor, IReduceActor reduceActor) { var exception = (Exception)null; using (var fileObserver = new FileObserver(fileName)) { var processCompleteSignal = new SemaphoreSlim(0, 1); var observer = fileObserver .Observable .SubscribeAsync(async(line) => { var map = await mapActor.MapAsync(line); await reduceActor.ReduceAsync(map); }, (e) => { exception = e; }, () => { processCompleteSignal.Release(); }); await processCompleteSignal.WaitAsync(); } if (exception != null) { throw exception; } }
public GameRoom(IMapActor map, IActorBase illumination, IEnemyManager enemyManager, IPlayerManager playerManager) { _map = map; _illumination = illumination; _enemyManager = enemyManager; _playerManager = playerManager; }