public void SetData(ChestEntity entity)
 {
     entity.rules.Clear();
     for (int k = 0; k < ruleElements.Count; k++)
     {
         entity.rules.Add((ruleElements._items[k] as ChestRuleElement).rule);
     }
 }
Esempio n. 2
0
    void OnOpenChestInput(GameMessage msg)
    {
        ChestEntity firstChestInRange = FindObjectsOfType <ChestEntity>().Where(x => (x.transform.position - transform.position).magnitude < chestOpenRange).FirstOrDefault();

        if (firstChestInRange != null)
        {
            firstChestInRange.Open();
        }
    }
Esempio n. 3
0
        public override bool UseItem(Player player)
        {
            ChestEntity test = new ChestEntity();

            var  rule = new ChestRuleGuaranteed();
            Item item = new Item();

            item.SetDefaults(ItemID.TwilightDye);

            rule.pool.Add(new Loot(item, 1));

            test.rules.Add(rule);

            test.SaveChestRulesFile();
            return(true);
        }
Esempio n. 4
0
        public static void GenerateChest(Point16 pos, TagCompound rules)
        {
            int i = Chest.CreateChest(pos.X, pos.Y);

            if (i == -1)
            {
                return;
            }

            Item item = new Item();

            item.SetDefaults(1);

            Chest chest = Main.chest[i];

            ChestEntity.SetChest(chest, ChestEntity.LoadChestRules(rules));
        }
        public bool SetData(ChestEntity entity)
        {
            entity.rules.Clear();

            if (ruleElements.Count == 0)
            {
                entity.Kill(entity.Position.X, entity.Position.Y);
                return(false);
            }

            for (int k = 0; k < ruleElements.Count; k++)
            {
                entity.rules.Add((ruleElements._items[k] as ChestRuleElement).rule.Clone());
            }

            return(true);
        }
Esempio n. 6
0
 public GameMessage WithChest(ChestEntity value)
 {
     targetChest = value;
     return(this);
 }