public static Graphic_Multi GetHeadRandom(Gender gender, Color skinColor, CrownType crownType) { GraphicDatabaseHeadRecords.BuildDatabaseIfNecessary(); Predicate <GraphicDatabaseHeadRecords.HeadGraphicRecord> predicate = (GraphicDatabaseHeadRecords.HeadGraphicRecord head) => head.crownType == crownType && head.gender == gender; int num = 0; GraphicDatabaseHeadRecords.HeadGraphicRecord headGraphicRecord; while (true) { headGraphicRecord = GraphicDatabaseHeadRecords.heads.RandomElement <GraphicDatabaseHeadRecords.HeadGraphicRecord>(); if (predicate(headGraphicRecord)) { break; } num++; if (num > 40) { goto Block_2; } } return(headGraphicRecord.GetGraphic(skinColor, false)); Block_2: foreach (GraphicDatabaseHeadRecords.HeadGraphicRecord current in GraphicDatabaseHeadRecords.heads.InRandomOrder(null)) { if (predicate(current)) { return(current.GetGraphic(skinColor, false)); } } Log.Error("Failed to find head for gender=" + gender + ". Defaulting...", false); return(GraphicDatabaseHeadRecords.heads.First <GraphicDatabaseHeadRecords.HeadGraphicRecord>().GetGraphic(skinColor, false)); }
public static Graphic_Multi GetHeadNamed(string graphicPath, Color skinColor) { GraphicDatabaseHeadRecords.BuildDatabaseIfNecessary(); for (int i = 0; i < GraphicDatabaseHeadRecords.heads.Count; i++) { GraphicDatabaseHeadRecords.HeadGraphicRecord headGraphicRecord = GraphicDatabaseHeadRecords.heads[i]; if (headGraphicRecord.graphicPath == graphicPath) { return(headGraphicRecord.GetGraphic(skinColor, false)); } } Log.Message("Tried to get pawn head at path " + graphicPath + " that was not found. Defaulting...", false); return(GraphicDatabaseHeadRecords.heads.First <GraphicDatabaseHeadRecords.HeadGraphicRecord>().GetGraphic(skinColor, false)); }
public static Graphic_Multi GetHeadRandom(Gender gender, Color skinColor, CrownType crownType) { GraphicDatabaseHeadRecords.BuildDatabaseIfNecessary(); Predicate <HeadGraphicRecord> predicate = delegate(HeadGraphicRecord head) { if (head.crownType != crownType) { return(false); } if (head.gender != gender) { return(false); } return(true); }; int num = 0; while (true) { HeadGraphicRecord headGraphicRecord = GraphicDatabaseHeadRecords.heads.RandomElement(); if (predicate(headGraphicRecord)) { return(headGraphicRecord.GetGraphic(skinColor)); } num++; if (num > 40) { break; } } foreach (HeadGraphicRecord item in GraphicDatabaseHeadRecords.heads.InRandomOrder(null)) { if (predicate(item)) { return(item.GetGraphic(skinColor)); } } Log.Error("Failed to find head for gender=" + gender + ". Defaulting..."); return(GraphicDatabaseHeadRecords.heads.First().GetGraphic(skinColor)); }
public static Graphic_Multi GetStump(Color skinColor) { GraphicDatabaseHeadRecords.BuildDatabaseIfNecessary(); return(GraphicDatabaseHeadRecords.stump.GetGraphic(skinColor, false)); }
public static Graphic_Multi GetSkull() { GraphicDatabaseHeadRecords.BuildDatabaseIfNecessary(); return(GraphicDatabaseHeadRecords.skull.GetGraphic(Color.white, true)); }