Example #1
0
        public T Choose <T>(Zaimoni.Data.Stack <T> src)
        {
            int n = src.Count;

#if DEBUG
            if (0 >= n)
            {
                throw new ArgumentNullException(nameof(src));
            }
#endif
            return(src[Roll(0, n)]);
        }
Example #2
0
        public int GetSkills(ref Zaimoni.Data.Stack <Gameplay.Skills.IDs> dest)
        {
            if (null == m_Table)
            {
                return(0);
            }
            int ret = 0;

            foreach (var x in m_Table)
            {
                dest.push(x.Key);
                ret += x.Value;
            }
            return(ret);
        }
Example #3
0
        public Zaimoni.Data.Stack <UniqueActor> DraftPool(Predicate <UniqueActor> test)
        {
            var ret = new Zaimoni.Data.Stack <UniqueActor>(new UniqueActor[10]);

            // \todo this warrants a linear data structure
            if (test(BigBear))
            {
                ret.push(BigBear);
            }
            if (test(Duckman))
            {
                ret.push(Duckman);
            }
            if (test(FamuFataru))
            {
                ret.push(FamuFataru);
            }
            if (test(FatherTime))
            {
                ret.push(FatherTime);
            }
            if (test(HansVonHanz))
            {
                ret.push(HansVonHanz);
            }
            if (test(PoliceStationPrisoner))
            {
                ret.push(PoliceStationPrisoner);
            }
            if (test(Roguedjack))
            {
                ret.push(Roguedjack);
            }
            if (test(Santaman))
            {
                ret.push(Santaman);
            }
            if (test(TheSewersThing))
            {
                ret.push(TheSewersThing);
            }
            if (test(JasonMyers))
            {
                ret.push(JasonMyers);
            }
            return(ret);
        }