public HairSelectorDrawer(Appearance.Genders gender, Appearance.Tribes tribe, byte value) { this.InitializeComponent(); this.ContentArea.DataContext = this; IGameDataService gameData = Services.Get <IGameDataService>(); this.List.ItemsSource = gameData.CharacterMakeCustomize.GetHair(tribe, gender); this.List.SelectedItem = gameData.CharacterMakeCustomize.GetHair(tribe, gender, value); }
public CustomizeFeatureSelectorDrawer(Features feature, Appearance.Genders gender, Appearance.Tribes tribe, byte value) { this.InitializeComponent(); this.feature = feature; this.gender = gender; this.tribe = tribe; this.ContentArea.DataContext = this; this.List.ItemsSource = GameDataService.CharacterMakeCustomize?.GetFeatureOptions(feature, tribe, gender); this.Selected = value; }
public ICharaMakeCustomize?GetFeature(Features featureType, Appearance.Tribes tribe, Appearance.Genders gender, byte featureId) { List <ICharaMakeCustomize> hairs = this.GetFeatureOptions(featureType, tribe, gender); foreach (ICharaMakeCustomize hair in hairs) { if (hair.FeatureId == featureId) { return(hair); } } return(null); }
public ICharaMakeCustomize GetHair(Appearance.Tribes tribe, Appearance.Genders gender, byte featureId) { List <ICharaMakeCustomize> hairs = this.GetHair(tribe, gender); foreach (ICharaMakeCustomize hair in hairs) { if (hair.FeatureId == featureId) { return(hair); } } return(null); }
public List <ICharaMakeCustomize> GetHair(Appearance.Tribes tribe, Appearance.Genders gender) { List <ICharaMakeCustomize> hairs = new List <ICharaMakeCustomize>(); int fromIndex = this.GetStartIndex(gender, tribe); for (int i = 1; i < 200; i++) { ICharaMakeCustomize feature = this.FindHair(fromIndex, 100, (byte)i); if (feature == null) { continue; } hairs.Add(feature); } return(hairs); }
public List <ICharaMakeCustomize> GetFeatureOptions(Features featureType, Appearance.Tribes tribe, Appearance.Genders gender) { List <ICharaMakeCustomize> results = new List <ICharaMakeCustomize>(); int fromIndex = this.GetFeatureStartIndex(featureType, tribe, gender); int count = this.GetFeatureLength(featureType); for (int i = 1; i < 200; i++) { ICharaMakeCustomize?feature = this.FindFeatureById(fromIndex, count, (byte)i); if (feature == null) { continue; } results.Add(feature); } return(results); }
private static int GetTribeHairStartIndex(Appearance.Tribes tribe, Appearance.Genders gender) { bool isMasculine = gender == Appearance.Genders.Masculine; switch (tribe) { case Appearance.Tribes.Midlander: return(isMasculine ? 4864 : 3584); case Appearance.Tribes.Highlander: return(isMasculine ? 7424 : 6144); case Appearance.Tribes.Wildwood: return(isMasculine ? 9984 : 8704); case Appearance.Tribes.Duskwight: return(isMasculine ? 12544 : 11264); case Appearance.Tribes.Plainsfolk: return(isMasculine ? 15104 : 13824); case Appearance.Tribes.Dunesfolk: return(isMasculine ? 17664 : 16384); case Appearance.Tribes.SeekerOfTheSun: return(isMasculine ? 20224 : 18944); case Appearance.Tribes.KeeperOfTheMoon: return(isMasculine ? 22784 : 21504); case Appearance.Tribes.SeaWolf: return(isMasculine ? 25344 : 24064); case Appearance.Tribes.Hellsguard: return(isMasculine ? 27904 : 26624); case Appearance.Tribes.Raen: return(isMasculine ? 30464 : 29184); case Appearance.Tribes.Xaela: return(isMasculine ? 33024 : 31744); case Appearance.Tribes.Helions: return(34304); case Appearance.Tribes.TheLost: return(36608); case Appearance.Tribes.Rava: return(40704); case Appearance.Tribes.Veena: return(43264); } throw new Exception("Unknown tribe: " + tribe); }
private static int GetTribeSkinStartIndex(Appearance.Tribes tribe, Appearance.Genders gender) { bool isMasculine = gender == Appearance.Genders.Masculine; switch (tribe) { case Appearance.Tribes.Midlander: return(isMasculine ? 4608 : 3328); case Appearance.Tribes.Highlander: return(isMasculine ? 7168 : 5888); case Appearance.Tribes.Wildwood: return(isMasculine ? 9728 : 8448); case Appearance.Tribes.Duskwight: return(isMasculine ? 12288 : 11008); case Appearance.Tribes.Plainsfolk: return(isMasculine ? 14848 : 13568); case Appearance.Tribes.Dunesfolk: return(isMasculine ? 17408 : 16128); case Appearance.Tribes.SeekerOfTheSun: return(isMasculine ? 19968 : 18688); case Appearance.Tribes.KeeperOfTheMoon: return(isMasculine ? 22528 : 21248); case Appearance.Tribes.SeaWolf: return(isMasculine ? 25088 : 23808); case Appearance.Tribes.Hellsguard: return(isMasculine ? 27648 : 26368); case Appearance.Tribes.Raen: return(isMasculine ? 28928 : 30208); case Appearance.Tribes.Xaela: return(isMasculine ? 31488 : 32768); case Appearance.Tribes.Helions: return(34048); case Appearance.Tribes.TheLost: return(35840); case Appearance.Tribes.Rava: return(40448); case Appearance.Tribes.Veena: return(43008); } throw new Exception("Unknown tribe: " + tribe); }
private int GetStartIndex(Appearance.Genders gender, Appearance.Tribes tribe) { bool isMale = gender == Appearance.Genders.Masculine; switch (tribe) { case Appearance.Tribes.Midlander: return(isMale ? 0 : 100); case Appearance.Tribes.Highlander: return(isMale ? 200 : 300); case Appearance.Tribes.Wildwood: return(isMale ? 400 : 500); case Appearance.Tribes.Duskwight: return(isMale ? 400 : 500); case Appearance.Tribes.Plainsfolk: return(isMale ? 600 : 700); case Appearance.Tribes.Dunesfolk: return(isMale ? 600 : 700); case Appearance.Tribes.SeekerOfTheSun: return(isMale ? 800 : 900); case Appearance.Tribes.KeeperOfTheMoon: return(isMale ? 800 : 900); case Appearance.Tribes.SeaWolf: return(isMale ? 1000 : 1100); case Appearance.Tribes.Hellsguard: return(isMale ? 1000 : 1100); case Appearance.Tribes.Raen: return(isMale ? 1200 : 1300); case Appearance.Tribes.Xaela: return(isMale ? 1200 : 1300); case Appearance.Tribes.Helions: return(1400); case Appearance.Tribes.TheLost: return(1400); case Appearance.Tribes.Rava: return(1500); case Appearance.Tribes.Veena: return(1500); } throw new Exception("Unrecognized tribe: " + tribe); }
public static Entry[] GetHair(Appearance.Tribes tribe, Appearance.Genders gender) { int from = GetTribeHairStartIndex(tribe, gender); return(Span(from, 192)); }
private int GetFeatureStartIndex(Features featureType, Appearance.Tribes tribe, Appearance.Genders gender) { bool isMale = gender == Appearance.Genders.Masculine; if (featureType == Features.Hair) { switch (tribe) { case Appearance.Tribes.Midlander: return(isMale ? 0 : 100); case Appearance.Tribes.Highlander: return(isMale ? 200 : 300); case Appearance.Tribes.Wildwood: return(isMale ? 400 : 500); case Appearance.Tribes.Duskwight: return(isMale ? 400 : 500); case Appearance.Tribes.Plainsfolk: return(isMale ? 600 : 700); case Appearance.Tribes.Dunesfolk: return(isMale ? 600 : 700); case Appearance.Tribes.SeekerOfTheSun: return(isMale ? 800 : 900); case Appearance.Tribes.KeeperOfTheMoon: return(isMale ? 800 : 900); case Appearance.Tribes.SeaWolf: return(isMale ? 1000 : 1100); case Appearance.Tribes.Hellsguard: return(isMale ? 1000 : 1100); case Appearance.Tribes.Raen: return(isMale ? 1200 : 1300); case Appearance.Tribes.Xaela: return(isMale ? 1200 : 1300); case Appearance.Tribes.Helions: return(1400); case Appearance.Tribes.TheLost: return(1400); case Appearance.Tribes.Rava: return(1500); case Appearance.Tribes.Veena: return(1500); } } else if (featureType == Features.FacePaint) { switch (tribe) { case Appearance.Tribes.Midlander: return(isMale ? 1600 : 1650); case Appearance.Tribes.Highlander: return(isMale ? 1700 : 1750); case Appearance.Tribes.Wildwood: return(isMale ? 1800 : 1850); case Appearance.Tribes.Duskwight: return(isMale ? 1900 : 1950); case Appearance.Tribes.Plainsfolk: return(isMale ? 2000 : 2050); case Appearance.Tribes.Dunesfolk: return(isMale ? 2100 : 2150); case Appearance.Tribes.SeekerOfTheSun: return(isMale ? 2200 : 2250); case Appearance.Tribes.KeeperOfTheMoon: return(isMale ? 2300 : 2350); case Appearance.Tribes.SeaWolf: return(isMale ? 2400 : 2450); case Appearance.Tribes.Hellsguard: return(isMale ? 2500 : 2550); case Appearance.Tribes.Raen: return(isMale ? 2600 : 2650); case Appearance.Tribes.Xaela: return(isMale ? 2700 : 2750); case Appearance.Tribes.Helions: return(2800); case Appearance.Tribes.TheLost: return(2850); case Appearance.Tribes.Rava: return(2900); case Appearance.Tribes.Veena: return(2950); } } throw new Exception("Unrecognized tribe: " + tribe); }
public TribeWrapper(Tribe row) : base(row) { this.tribe = (Appearance.Tribes)row.Key; }