//画线
    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;
            }
        }
    }
Beispiel #2
0
    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();
        }
    }
Beispiel #3
0
    //解析配置
    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);
        }
    }
Beispiel #6
0
    /** 指定星云里面是否存在可激活星星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);
 }
Beispiel #9
0
 public void init(GoddessAstrolabeSample _info)
 {
     info = _info;
 }
Beispiel #10
0
    /** 取得父星是否已激活 */
    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);
        }
    }