Remoting.Value<IBattleAdmissionTickets> IZone.Open(BattleRequester requester) { Remoting.Value<IBattleAdmissionTickets> ret = new Remoting.Value<IBattleAdmissionTickets>(); var field = new Field(requester.Battlers.ToArray()); field.EndEvent += () => { _Fields.RemoveFramework(field); }; field.FirstEvent += (val) => { ret.SetValue(val); }; _Fields.AddFramework(field); return ret; }
Remoting.Value<bool> IMap.BattleRequest(Guid requester) { if (_Entitys.Count >= 2 ) { BattleRequester br = new BattleRequester(); int size = 0; foreach (var entity in _Entitys) { BattlerInfomation battler = new BattlerInfomation(); battler.Id = entity.Id; battler.Side = (BattlerSide)(size % 2); br.Battlers.Add(battler); size++; } _BroadcastBattler(_Battle.Open(br), (from battler in br.Battlers select battler.Id).ToArray()); return true; } return false; }