Exemple #1
0
        void IDevelopActor.CreateItem(string name, int count)
        {
            var ip   = new ItemProvider();
            var item = ip.CreateItem(name, count);

            Bag.Add(item);
        }
Exemple #2
0
        Guid[] IMapGate.SpawnField(ENTITY[] types)
        {
            foreach (var type in types)
            {
                if (_EntityFieldResource[type] <= 0)
                {
                    return(new Guid[0]);
                }
            }
            List <Guid> ids = new List <Guid>();

            foreach (var type in types)
            {
                if (_EntityFieldResource[type] > 0)
                {
                    var itemProvider = new ItemProvider();
                    var aboriginal   = _Create(_Map, type, itemProvider);
                    _EntityFieldResource[type]--;
                    _Join(aboriginal);
                    aboriginal.DoneEvent += () =>
                    {
                        _EntityFieldResource[type]++;

                        _Left(aboriginal.Entity.Id);
                    };
                    ids.Add(aboriginal.Entity.Id);
                }
            }
            return(ids.ToArray());
        }
Exemple #3
0
        private void _ToGame(GamePlayerRecord record, Realm.Map map)
        {
            var player = EntityProvider.Create(record.Entity);

            var itemProvider = new ItemProvider();
            var itemAxe      = itemProvider.MakeItem("Axe1", 0.5f);
            var itemSword1   = itemProvider.MakeItem("Sword1", 0.5f);
            var itemSword2   = itemProvider.MakeItem("Sword2", 0.5f);
            var itemShield1  = itemProvider.MakeItem("Shield1", 0.5f);

            player.Bag.Add(itemAxe);
            player.Bag.Add(itemSword1);
            player.Bag.Add(itemSword2);
            player.Bag.Add(itemShield1);

            foreach (var item in record.Items)
            {
                player.Bag.Add(item);
            }

            var stage = new GameStage(this._Binder, map.Finder, map.Gate, player);

            stage.ExitEvent     += () => { };
            stage.TransmitEvent += _ToRealm;
            _Machine.Push(stage);
        }
Exemple #4
0
        private void _Create(ItemFormula key, int[] amounts)
        {
            var quality = ItemProvider.GetQuality(key, amounts);

            var itemProvider = new ItemProvider();
            var item         = itemProvider.BuildItem(quality, key.Item, key.Effects);

            _Player.Bag.Add(item);
        }
Exemple #5
0
 private void _Supplement()
 {
     if (this.Count() <= 1)
     {
         var idx          = Regulus.Utility.Random.Instance.NextInt(0, _Items.Length);
         var itemProvider = new ItemProvider();
         Add(itemProvider.CreateItem(_Items[idx].Name));
     }
 }
Exemple #6
0
        Guid IMapGate.Spawn(ENTITY type)
        {
            var itemProvider = new ItemProvider();
            var aboriginal   = _Create(_Map, type, itemProvider);

            aboriginal.DoneEvent += () =>
            {
                _Left(aboriginal.Entity.Id);
            };
            _Join(aboriginal);
            return(aboriginal.Entity.Id);
        }
Exemple #7
0
        private Aboriginal _Create(Map map, ENTITY type, ItemProvider item_provider)
        {
            var entiry = EntityProvider.Create(type);
            var items  = item_provider.FromStolen();

            foreach (var item in items)
            {
                entiry.Bag.Add(item);
            }
            var wisdom     = new StandardBehavior(entiry);
            var aboriginal = new Aboriginal(map, this, entiry, wisdom);

            return(aboriginal);
        }
Exemple #8
0
        void IDevelopActor.MakeItem(string name, float quality)
        {
            var formulas = Resource.Instance.Formulas;
            var formula  = (from f in formulas where f.Id == name select f).FirstOrDefault();

            if (formula == null)
            {
                return;
            }

            var ip   = new ItemProvider();
            var item = ip.BuildItem(quality, formula.Item, formula.Effects);

            Bag.Add(item);
        }
Exemple #9
0
 Guid IMapGate.SpawnEnterance(ENTITY type)
 {
     if (_EntityEnteranceResource[type] > 0)
     {
         var itemProvider = new ItemProvider();
         var aboriginal   = _Create(_Map, type, itemProvider);
         _EntityEnteranceResource[type]--;
         _Join(aboriginal);
         aboriginal.DoneEvent += () =>
         {
             _EntityEnteranceResource[type]++;
             _Left(aboriginal.Entity.Id);
         };
         return(aboriginal.Entity.Id);
     }
     return(Guid.Empty);
 }
Exemple #10
0
        void IBootable.Launch()
        {
            var provider = new ItemProvider();

            _Actor.Bag.Add(provider.BuildItem(1, "AidKit1", new [] { new ItemEffect()
                                                                     {
                                                                         Effects = new [] { new Effect()
                                                                                            {
                                                                                                Type = EFFECT_TYPE.AID, Value = 10
                                                                                            } },
                                                                         Quality = 0.5f
                                                                     } }));

            _Actor.Bag.Add(provider.BuildItem(1, "Axe1", new[] { new ItemEffect()
                                                                 {
                                                                     Effects = new [] { new Effect()
                                                                                        {
                                                                                            Type = EFFECT_TYPE.ATTACK_ADD, Value = 1
                                                                                        } },
                                                                     Quality = 0.5f
                                                                 } }));
            _ToGame(_Map);
        }