示例#1
0
    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);
            }
        });
    }
示例#2
0
    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();
        }
    }