P_Package[] sortPackage(P_Package[] srcPackages) { P_Package[] resultPackage = new P_Package[srcPackages.Length]; for (int k = 0; k < resultPackage.Length; k++) { int maxValue = 0; int maxIndex = 0; for (int i = 0; i < srcPackages.Length; i++) { if (srcPackages[i] != null) { if (srcPackages[i].showWeight >= maxValue) { maxValue = srcPackages[i].showWeight; maxIndex = i; } } } resultPackage[k] = srcPackages[maxIndex]; srcPackages[maxIndex] = null; } return(resultPackage); }
public void setData(P_Package data1) { string[] txts = data1.desc.Split('/'); string[] txts2 = null; string[] temp = null; switch (data1.category) { case SpecialPackage.RUNE: //0 역전! 패자부활 소환룬 특별강화 패키지!/ //1 용사님의 재도전을 응원하며!/ //2 소환팩/ //3 프리미엄/ //4 소환룬 5개/ //5 +/ //6 루비 150개/ //7 30,000 골드/ //8 BONUS!!/ //9 해당 팝업을 통해서 월 1회 구매가 가능한 상품입니다. lbRibonTitle.text = txts[0]; lbTitle.text = txts[1]; lbBottomLine.text = txts[txts.Length - 1]; slot1.setData(data1, hide); slot1.lbItemTitle.text = txts[2]; if (slot1.isImageType == false) { slot1.lbRubyCount.text = txts[3] + "\n" + txts[4]; slot1.lbDescription.text = Util.stringJoin("\n", txts, 5, txts.Length - 3); _v = slot1.lbDescription.transform.localPosition; _v.y = slot1.lbRubyCount.transform.localPosition.y - slot1.lbRubyCount.printedSize.y * slot1.lbRubyCount.transform.localScale.y; slot1.lbDescription.transform.localPosition = _v; } slot1.spItemPriceIcon.enabled = (txts[txts.Length - 2].Contains("BONUS")); if (slot1.spItemPriceIcon.enabled) { _v = slot1.spItemPriceIcon.transform.localPosition; _v.y = slot1.lbDescription.transform.localPosition.y - slot1.lbDescription.printedSize.y - 5f; slot1.spItemPriceIcon.transform.localPosition = _v; } break; } show(); if (slot1 != null) { slot1.loadImage(); } }
public bool check() { if (GameDataManager.instance.packages == null) { return(false); } if (GameManager.me.introStep != Scene.IntroStep.PlayGame) { return(false); } if (GameDataManager.instance.serviceMode == GameDataManager.ServiceMode.IOS_SUMMIT || GameManager.me.isGuest) { return(false); } starterPack1 = null; starterPack2 = null; specialPack1 = null; specialPack2 = null; specialPacks = null; int numOfSpecialPack = 0; foreach (KeyValuePair <string, P_Package> kv in GameDataManager.instance.packages) { if (kv.Value.category == SpecialPackage.SPECIAL) { numOfSpecialPack++; } } // for test //numOfSpecialPack = 3; // specialPacks = new P_Package[numOfSpecialPack]; runePack = null; int specialPackCnt = 0; //Debug.Log(" num of packages ="+GameDataManager.instance.packages.Count); foreach (KeyValuePair <string, P_Package> kv in GameDataManager.instance.packages) { switch (kv.Value.category) { case SpecialPackage.STARTER: if (starterPack1 == null) { starterPack1 = kv.Value; } else { starterPack2 = kv.Value; } break; case SpecialPackage.SPECIAL: if (numOfSpecialPack == 2) { if (specialPack1 == null) { specialPack1 = kv.Value; } else { specialPack2 = kv.Value; } } else { specialPacks[specialPackCnt] = kv.Value; specialPackCnt++; // for test //specialPacks[2] = kv.Value; //specialPacks[3] = kv.Value; } break; case SpecialPackage.RUNE: runePack = kv.Value; break; } } if (numOfSpecialPack == 4 && canOpen(specialPacks)) { return(true); } else if (canOpen(runePack, null)) { return(true); } return(false); }
public bool canOpen(P_Package[] data) { if (TutorialManager.instance.isTutorialMode || TutorialManager.instance.isReadyTutorialMode) { return(false); } if (data == null) { return(false); } if (data[0] == null) { return(false); } P_Package data1 = data[0]; setMode(); bool stop = true; for (int i = data1.showViews.Length - 1; i >= 0; --i) { switch (data1.showViews[i]) { case "WORLD": if (_mode == Mode.World) { stop = false; } break; case "LOBBY": if (_mode == Mode.Lobby) { stop = false; } break; case "SHOP": if (_mode == Mode.Shop) { stop = false; } break; } } if (stop) { return(false); } int day = System.DateTime.Now.Day; string id = data1.category; bool checkDate = true; switch (data1.category) { //case SpecialPackage.STARTER: case SpecialPackage.SPECIAL: if (data[1] == null) { return(false); } id += _mode.ToString(); #if UNITY_EDITOR // for test //checkDate = false; #endif if (checkDate && PlayerPrefs.GetInt(id, -1) == day) { return(false); } data = sortPackage(data); GameManager.me.uiManager.popupSpecialPack.setData(data); break; /* * case SpecialPackage.RUNE: * #if UNITY_EDITOR * // checkDate = false; #endif * id += data.subcategory; * * if(checkDate && PlayerPrefs.GetInt(id, -1) == day) return false; * * if(canCheckRunePack == false) return false; * * canCheckRunePack = false; * * GameManager.me.uiManager.popupSpecialSinglePack.setData(data); * break; */ } PlayerPrefs.SetInt(id, day); return(true); }
public void setData(P_Package pData, Callback.Default closeCallback) { _data = pData; _closeCallback = closeCallback; if (lbPrice != null) { #if UNITY_ANDROID lbPrice.text = Util.GetCommaScore(Mathf.RoundToInt(_data.price)); #else lbPrice.text = string.Format("{0:F2}", _data.price); #endif } if (string.IsNullOrEmpty(_data.imageUrl) == false) { uiContainer.gameObject.SetActive(false); photo.gameObject.SetActive(true); return; } photo.gameObject.SetActive(false); uiContainer.gameObject.SetActive(true); switch (_data.category) { case SpecialPackage.RUNE: if (_data.subcategory != null) { switch (_data.subcategory) { case SpecialPackage.UNIT: spItemIcon.spriteName = "img_package_animal"; break; case SpecialPackage.SKILL: spItemIcon.spriteName = "img_package_skill"; break; case SpecialPackage.EQUIP: spItemIcon.spriteName = "img_package_hero"; break; } } break; case SpecialPackage.SPECIAL: if (spItemIcon != null) { switch (_data.showWeight) { case 0: spItemIcon.spriteName = "img_package_special2"; break; case 1: spItemIcon.spriteName = "img_package_special1"; break; } } break; case SpecialPackage.STARTER: switch (_data.showWeight) { case 0: spItemIcon.spriteName = "img_package_start2"; break; case 1: spItemIcon.spriteName = "img_package_start1"; break; } break; } }