//Order: 0 gender, 1 age, 2 location, 3 occupation, 4 family, 5 financial, 6 searched void Awake() { profiles = new List <ProfileBase>(); for (int i = 0; i < 120; i++) { VarRef.Tag gender = RandTag(TagCategory.Gender); VarRef.Tag age = RandTag(TagCategory.Age); VarRef.Tag location = RandTag(TagCategory.Location); VarRef.Tag occupation = RandTag(TagCategory.Occupation); if (age == VarRef.Tag.AgeChild && occupation == VarRef.Tag.OccEmployed) { occupation = VarRef.Tag.OccStudent; } VarRef.Tag family = RandTag(TagCategory.Family); if (age == VarRef.Tag.AgeChild) { family = VarRef.Tag.FamSingle; } VarRef.Tag financial = RandTag(TagCategory.Financial); VarRef.Tag search = RandTag(TagCategory.Searched); if (age == VarRef.Tag.AgeChild && search == VarRef.Tag.SearchBusiness) { search = VarRef.Tag.SearchIndoor; } NewProfile = new ProfileBase(gender, age, location, occupation, family, financial, search); profiles.Add(NewProfile); } }
VarRef.Tag RandTag(TagCategory category) { int min = 0; int max = 0; switch (category) { case TagCategory.Gender: min = 0; max = 2; break; case TagCategory.Age: min = 2; max = 5; break; case TagCategory.Location: min = 5; max = 7; break; case TagCategory.Occupation: min = 7; max = 10; break; case TagCategory.Family: min = 10; max = 13; break; case TagCategory.Financial: min = 13; max = 16; break; case TagCategory.Searched: min = 16; max = 24; break; default: break; } int rand = Random.Range(min, max); VarRef.Tag ret = (VarRef.Tag)rand; return(ret); }
Sprite RandBlankImg(Sprite actual_image, VarRef.Tag age, VarRef.Tag location) { int chance = 100; if (age == VarRef.Tag.AgeChild) { chance -= 20; } else if (age == VarRef.Tag.AgeElderly) { chance -= 30; } else { chance -= 10; } if (location == VarRef.Tag.LiveCountry) { chance -= 20; } else { chance -= 10; } int rand = Random.Range(0, 100); if (rand <= chance) { return(actual_image); } else { return(image_assets[6]); } }
public ProfileBase(VarRef.Tag p_gen, VarRef.Tag p_age, VarRef.Tag p_loc, VarRef.Tag p_occ, VarRef.Tag p_fam, VarRef.Tag p_fin, VarRef.Tag p_srch) { tag_array = new VarRef.Tag[nr_of_tags]; tag_array[0] = p_gen; tag_array[1] = p_age; tag_array[2] = p_loc; tag_array[3] = p_occ; tag_array[4] = p_fam; tag_array[5] = p_fin; tag_array[6] = p_srch; points_ref = new Dictionary <VarRef.Topic, int>(); tag_bases = new TagBase[nr_of_tags]; tags = new TagList(); points_ref.Add(VarRef.Topic.TravelCruise, 0); points_ref.Add(VarRef.Topic.TravelCharter, 0); points_ref.Add(VarRef.Topic.TravelBudget, 0); points_ref.Add(VarRef.Topic.ElecPhone, 0); points_ref.Add(VarRef.Topic.ElecHouse, 0); points_ref.Add(VarRef.Topic.ElecGames, 0); points_ref.Add(VarRef.Topic.SportsFootball, 0); points_ref.Add(VarRef.Topic.SportsGolf, 0); points_ref.Add(VarRef.Topic.SportsGymnastics, 0); points_ref.Add(VarRef.Topic.FoodQuick, 0); points_ref.Add(VarRef.Topic.FoodGourmet, 0); points_ref.Add(VarRef.Topic.FoodCafe, 0); points_ref.Add(VarRef.Topic.CarsBudget, 0); points_ref.Add(VarRef.Topic.CarsHighend, 0); points_ref.Add(VarRef.Topic.CarsParts, 0); points_ref.Add(VarRef.Topic.ClothesWomen, 0); points_ref.Add(VarRef.Topic.ClothesMen, 0); points_ref.Add(VarRef.Topic.ClothesCostume, 0); for (int i = 0; i < (int)VarRef.Tag.blank; i++) { for (int j = 0; j < nr_of_tags; j++) { //If the tag currently investigated exists on this profile if (i == (int)tag_array[j]) { //Grab a reference to that base tag for easy access tag_bases[j] = tags.tag_list[i]; } } } for (int i = 0; i < nr_of_tags; i++) { //Check what topics are in this tag's tier 1 list for (int j = 0; j < tag_bases[i].tier1.Count; j++) { points_ref[tag_bases[i].tier1[j]] += 3; } //Check what topics are in this tag's tier 2 list for (int k = 0; k < tag_bases[i].tier2.Count; k++) { points_ref[tag_bases[i].tier2[k]] += 2; } //Check what topics are in this tag's tier 3 list for (int l = 0; l < tag_bases[i].tier3.Count; l++) { points_ref[tag_bases[i].tier3[l]] += 1; } } }