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)]); }
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); }
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); }