public override List <Item> ComputeRewards(bool full)
        {
            List <Item> list = new List <Item>();

            RewardGroup rewardGroup = TailorRewardCalculator.Instance.LookupRewards(TailorRewardCalculator.Instance.ComputePoints(this));

            if (rewardGroup != null)
            {
                if (full)
                {
                    for (int i = 0; i < rewardGroup.Items.Length; ++i)
                    {
                        Item item = rewardGroup.Items[i].Construct();

                        if (item != null)
                        {
                            list.Add(item);
                        }
                    }
                }
                else
                {
                    RewardItem rewardItem = rewardGroup.AcquireItem();

                    if (rewardItem != null)
                    {
                        Item item = rewardItem.Construct();

                        if (item != null)
                        {
                            list.Add(item);
                        }
                    }
                }
            }

            return(list);
        }
        public override ArrayList ComputeRewards(bool full)
        {
            ArrayList list = new ArrayList();

            RewardGroup rewardGroup = SmithRewardCalculator.Instance.LookupRewards(SmithRewardCalculator.Instance.ComputePoints(this));

            if (rewardGroup != null)
            {
                if (full)
                {
                    for (int i = 0; i < rewardGroup.Items.Length; ++i)
                    {
                        Item item = rewardGroup.Items[i].Construct();

                        if (item != null)
                        {
                            list.Add(item);
                        }
                    }
                }
                else
                {
                    RewardItem rewardItem = rewardGroup.AquireItem();

                    if (rewardItem != null)
                    {
                        Item item = rewardItem.Construct();

                        if (item != null)
                        {
                            list.Add(item);
                        }
                    }
                }
            }

            return(list);
        }