Beispiel #1
0
        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;
        }
Beispiel #2
0
        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;
        }