public void UpdateRoommates(string name, int id, int level, int price, int gems, int vip) { var path = AssetsPaths.FlatmatesResourcespath + "/" + name; var info = Resources.Load <FlatMateInfo> (path); RoommateData data = new RoommateData(name, id, info.gender, info.Icon, level, gems, price, false, false, info.Prefab, vip == 1 ?true:false); AllRoommatesData.Add(data); DeleteAllRoommate(); RoommatesAvailable = new GameObject[0]; AllRoommatesData.ForEach(roommate => { /// this is to update the unlock condition of all the decorItem, accoroding to level or gems in gamemanager if (GameManager.Instance.level >= roommate.Level && GameManager.Instance.Gems >= roommate.Gems) { int Index = AllRoommatesData.IndexOf(roommate); AllRoommatesData [Index].Unlocked = true; roommate.Unlocked = true; } else { roommate.Unlocked = false; } if (roommate.VipSubscription) { int Index = AllRoommatesData.IndexOf(roommate); AllRoommatesData [Index].Unlocked = true; if (VipSubscriptionManager.Instance.VipSubscribed) { roommate.Unlocked = true; } else { roommate.Unlocked = false; } } if (roommate.Gender == GameManager.GetGender() && !roommate.Hired) { GameObject Go = Instantiate(UIPrefab, Vector3.zero, Quaternion.identity) as GameObject; Go.transform.parent = AllFlatmatesContainer.transform; Go.transform.localScale = Vector3.one; Go.name = roommate.Name; Go.GetComponent <FlatmateOptionForRecruit> ().data = roommate; AddRoommate(Go); } }); }
public IEnumerator GetFlatmateDataOfRealPlayer() { var flatemate = MainCharacter.AddComponent <Flatmate>(); var target = GameManager.Instance.WayPoints [UnityEngine.Random.Range(0, GameManager.Instance.WayPoints.Count)]; flatemate.transform.position = target.transform.position; flatemate.gameObject.AddComponent <RoomMateMovement> ().currentWaypoint = target.GetComponent <WayPoint> (); Sprite icon; if (GameManager.GetGender() == GenderEnum.Female) { icon = IconFemale; } else { icon = IconMale; } var rd = new RoommateGetData(PlayerPrefs.GetInt("PlayerId"), 1); var RData = new RoommateData(PlayerPrefs.GetString("UserName"), 1, (int)GameManager.GetGender(), icon, 0, 0, 0, true, true, MainCharacter, false); flatemate.data = RData; CoroutineWithData cd = new CoroutineWithData(this, DownloadContent.Instance.DownloadFlatmateData(rd, RData)); yield return(cd.coroutine); if (cd.result != null) { var _xyz = flatemate.GetComponentsInChildren <DressParts> (true); foreach (var dress in PurchaseDressManager.Instance.AllDresses) { foreach (var flatmate_dress in RData.Dress) { if (dress.Id == flatmate_dress.Value) { // if (flatemate.GetComponent<CharacterProperties> ().PlayerType == "White") for (int i = 0; i < Mathf.Min(dress.PartName.Length, dress.DressesImages.Length); i++) { foreach (var _x in _xyz) { if (_x.name == dress.PartName [i]) { _x.GetComponent <SpriteRenderer> ().sprite = dress.DressesImages [i]; } } } } // if (dress.id == flatmate_dress.Value) { // if (flatemate.GetComponent<CharacterProperties> ().PlayerType == "Brown") // for (int i = 0; i < Mathf.Min (dress.PartName.Length, dress.Brown_Images.Length); i++) { // foreach (var _x in _xyz) { // if (_x.name == dress.PartName [i]) { // _x.GetComponent<SpriteRenderer> ().sprite = dress.Brown_Images [i]; // } // } // } // } // // if (dress.id == flatmate_dress.Value) { // if (flatemate.GetComponent<CharacterProperties> ().PlayerType == "Black") // for (int i = 0; i < Mathf.Min (dress.PartName.Length, dress.Black_Images.Length); i++) { // foreach (var _x in _xyz) { // if (_x.name == dress.PartName [i]) { // _x.GetComponent<SpriteRenderer> ().sprite = dress.Black_Images [i]; // } // } // } // } } } int Id = 0; int.TryParse(RData.Hair_style, out Id); var Hair = PurchaseSaloonManager.Instance.FindSaloonWithId(Id); if (Hair != null) { // if (flatemate.GetComponent<CharacterProperties> ().PlayerType == "White") DressManager.Instance.ChangeHairsOfCharacter(MainCharacter, Hair.PartName, Hair.HairImages); // else if (flatemate.GetComponent<CharacterProperties> ().PlayerType == "Brown") // DressManager.Instance.ChangeFlatMateDress(MainCharacter,Hair.PartName,Hair.Brown_Images); // else if (flatemate.GetComponent<CharacterProperties> ().PlayerType == "Black") // DressManager.Instance.ChangeFlatMateDress(MainCharacter,Hair.PartName,Hair.Black_Images); } flatemate.data = RData; flatemate.HireThisRoommate(); } else { flatemate.data = RData; flatemate.GivePerk(); flatemate.HireThisRoommate(); } }