//画线 private void setLine(GoddessAstrolabeStarCtrl _gas) { GoddessAstrolabeSample ss = _gas.getInfo(); if (ss.father == 0 || !GoddessAstrolabeManagerment.Instance.getFatherStarIsOpen(ss)) { return; } if (getFatherStar(ss.father) != null) { if (_gas.getInfo().mainType == 1) { LineRenderer renderActive = (Instantiate(lineActive) as GameObject).GetComponent <LineRenderer> (); renderActive.transform.parent = _gas.transform; renderActive.SetPosition(0, _gas.getPos()); renderActive.SetPosition(1, getFatherStar(ss.father).getPos()); renderActive.enabled = true; } else { LineRenderer renderNotActive = (Instantiate(lineNotActive) as GameObject).GetComponent <LineRenderer> (); renderNotActive.transform.parent = _gas.transform; renderNotActive.SetPosition(0, _gas.getPos()); renderNotActive.SetPosition(1, getFatherStar(ss.father).getPos()); renderNotActive.enabled = true; } } }
public void init(GoddessAstrolabeSample _data, GoddessAstrolabeWindow _fawin) { //相互关联 this.info = _data; fawin = _fawin; // passObj obj = Create3Dobj ("Goddess/ClickButton/ClickButton"); GameObject objs = Instantiate(_fawin.titleLabelPrefab) as GameObject; objs.transform.parent = fawin.UIEffectRoot; objs.transform.localScale = Vector3.one; objs.transform.localPosition = Vector3.zero; button = objs.GetComponent <GoddessAstrolabeStarButton> (); item = button.GetComponent <goddessAstrolabeMoveItem> (); item.fawin = fawin; button.name = info.id.ToString(); button.init(info); button.setFatherWindow(fawin); if (info.isOpen) { hideUI(); } else { showUI(); } }
//解析配置 public override void parseConfig(string str) { GoddessAstrolabeSample be = new GoddessAstrolabeSample(str); if (infoByFront == null) { infoByFront = new List <GoddessAstrolabeSample> (); } infoByFront.Add(be); }
//获得下一颗可激活主星的坐标,如果没有,就回去原点 private void getStarPosByMainType() { if (stars == null) { return; } bool isHave = false; Vector3 pos = new Vector3(0, 0, -5); GoddessAstrolabeStarCtrl a = null; for (int i = 0; i < stars.Count; i++) { if (stars[i].getInfo().id == GoddessAstrolabeManagerment.Instance.getLastStarIdById(nebulaId)) { a = stars[i]; } if (stars[i].getInfo().mainType == 1) { GoddessAstrolabeSample ss = stars[i].getInfo(); if (!GoddessAstrolabeManagerment.Instance.getFatherStarIsOpen(ss)) { continue; } else { if (stars[i].getInfo().isOpen) { continue; } else { isHave = true; pos = new Vector3(stars[i].getPos().x, stars[i].getPos().y, (stars[i].getPos().y *zByZPer - zByZPer2)); break; } } } } if (!isHave) { findStar(); } else { // gaCamera.transform.localRotation = new Quaternion(0,0,0,0); iTween.MoveTo(gaCamera.gameObject, iTween.Hash("position", pos, "easetype", iTween.EaseType.easeInOutCubic, "oncomplete", "over", "time", 0.3f)); } }
//实例化各种星星 private GameObject instantiateStar(GoddessAstrolabeSample sa) { if (!sa.isOpen) { if (sa.mainType == 1) { return(Instantiate(starMainObj) as GameObject); } else { return(Instantiate(starObj) as GameObject); } } switch (sa.colorId) { case 1: return(Instantiate(starHp[sa.sizeType - 1]) as GameObject); case 2: return(Instantiate(starAtt[sa.sizeType - 1]) as GameObject); case 3: return(Instantiate(starDef[sa.sizeType - 1]) as GameObject); case 4: return(Instantiate(starMag[sa.sizeType - 1]) as GameObject); case 5: return(Instantiate(starAgi[sa.sizeType - 1]) as GameObject); case 6: return(Instantiate(starFunc[sa.sizeType - 1]) as GameObject); case 7: return(Instantiate(starGoods[sa.sizeType - 1]) as GameObject); default: return(Instantiate(starObj) as GameObject); } }
/** 指定星云里面是否存在可激活星星1-6 */ public bool isHaveOpenStarByNebulaId(int sid) { List <GoddessAstrolabeSample> info = getStarByNebulaId(sid); if (info == null) { return(false); } if (sid != 1) { List <GoddessAstrolabeSample> infoLast = getStarByNebulaId(sid - 1); if (infoLast == null) { return(false); } FindGoddessAstrolabeSample findS = new FindGoddessAstrolabeSample(); findS.id = getLastStarIdById(sid - 1); GoddessAstrolabeSample ga = infoLast.Find(findS.FindGoddessAstrolabeSampleByID); if (ga != null && ga.isOpen) { return(true); } else { return(false); } } else { for (int i = 0; i < info.Count; i++) { if (getFatherStarIsOpen(info [i])) { return(true); } } return(false); } }
private List <Vector3> getStarPos() { List <Vector3> list = new List <Vector3>(); List <Vector3> list2 = new List <Vector3>(); if (stars == null) { return(null); } for (int i = 0; i < stars.Count; i++) { GoddessAstrolabeSample ss = stars[i].getInfo(); if (!GoddessAstrolabeManagerment.Instance.getFatherStarIsOpen(ss)) { continue; } else { if (stars[i].getInfo().isOpen) { continue; } else { //排序,主星优先 if (stars[i].getInfo().mainType == 1) { list.Add(stars[i].getPos()); } else { list2.Add(stars[i].getPos()); } } } } ListKit.AddRange(list, list2); return(list); }
public bool FindGoddessAstrolabeSampleByID(GoddessAstrolabeSample ga) { return(idValue == ga.id); }
public void init(GoddessAstrolabeSample _info) { info = _info; }
/** 取得父星是否已激活 */ public bool getFatherStarIsOpen(GoddessAstrolabeSample ga) { GoddessAstrolabeSample fa = getSampleBySid(ga.father); return(fa == null ? true : fa.isOpen); }
public void initUI(GoddessAstrolabeWindow _win, GoddessAstrolabeSample _info) { info = _info; fawin = _win; GoddessAstrolabeConditions[] conditions = info.conditions; //条件 if (conditions != null) { for (int i = 0; i < conditions.Length; i++) { needs[i].gameObject.SetActive(true); needs[i].text = getConStr(conditions[i]); if (conditions[i].type == PremiseType.STAR) { starIcon.gameObject.SetActive(true); starIcon.spriteName = "star3"; starIcon.transform.localPosition = new Vector3(needs[i].gameObject.transform.localPosition.x - 22, needs[i].gameObject.transform.localPosition.y); } if (conditions[i].type == PremiseType.RMB) { starIcon.gameObject.SetActive(true); starIcon.spriteName = "rmb"; starIcon.transform.localPosition = new Vector3(needs[i].gameObject.transform.localPosition.x - 22, needs[i].gameObject.transform.localPosition.y); } } } //奖励 if (info.awardType == GoddessAstrolabeManagerment.AWARD_ATTR || info.awardType == GoddessAstrolabeManagerment.AWARD_ADD) { attrAward.gameObject.SetActive(true); attrAward.text = info.awardDesc; } else if (info.awardType == GoddessAstrolabeManagerment.AWARD_AWARD) { if (info.award == null) { return; } goodAward.fatherWindow = this; switch (info.award.awardType) { case PrizeType.PRIZE_BEAST: goodAward.gameObject.SetActive(true); Card beast = CardManagerment.Instance.createCard(info.award.awardSid); goodAward.init(beast); break; case PrizeType.PRIZE_CARD: goodAward.gameObject.SetActive(true); Card card = CardManagerment.Instance.createCard(info.award.awardSid); goodAward.init(card); break; case PrizeType.PRIZE_EQUIPMENT: goodAward.gameObject.SetActive(true); Equip equip = EquipManagerment.Instance.createEquip(info.award.awardSid); goodAward.init(equip); break; case PrizeType.PRIZE_MONEY: goodAward.gameObject.SetActive(true); PrizeSample prizeMoney = new PrizeSample(PrizeType.PRIZE_MONEY, 0, info.award.awardNum); goodAward.init(prizeMoney); break; case PrizeType.PRIZE_PROP: goodAward.gameObject.SetActive(true); Prop prop = PropManagerment.Instance.createProp(info.award.awardSid); goodAward.init(prop, info.award.awardNum); break; case PrizeType.PRIZE_RMB: goodAward.gameObject.SetActive(true); PrizeSample prizeRmb = new PrizeSample(PrizeType.PRIZE_RMB, 0, info.award.awardNum); goodAward.init(prizeRmb); break; } } // 开启星屑商店// else if (info.awardType == GoddessAstrolabeManagerment.AWARD_OPENSHOP) { funcIcon.gameObject.SetActive(true); } if (info.isOpen) { buttonOpen.gameObject.SetActive(true); buttonOpen.disableButton(true); buttonOpen.textLabel.text = LanguageConfigManager.Instance.getLanguage("goddess11"); return; } //显示按钮 if (GoddessAstrolabeManagerment.Instance.getFatherStarIsOpen(info)) { canOpen.SetActive(false); buttonOpen.gameObject.SetActive(true); buttonOpen.textLabel.text = LanguageConfigManager.Instance.getLanguage("goddess07"); if (conditions != null) { int noNum = 0; for (int i = 0; i < conditions.Length; i++) { if (isCanOpen(conditions[i]) == false) { noNum++; } } if (noNum > 0) { buttonOpen.disableButton(true); } else { buttonOpen.disableButton(false); } } } else { canOpen.SetActive(true); buttonOpen.gameObject.SetActive(false); } }