Ejemplo n.º 1
0
    /** 这里只用于判断是否激活新英雄之章的判断 */
    public bool isActiveHeroRoad(Card c)
    {
        if (c == null)
        {
            return(false);
        }
        int type = c.getEvolveNextSid();

        if (type > 0)
        {
            HeroRoad obj = null;
            if (map.ContainsKey(type))
            {
                obj = map[type];
                if (obj.activeCount < obj.sample.getMissionCount())
                {
                    return(true);
                }
            }
            else
            {
                return(true);
            }
        }
        return(false);
    }
Ejemplo n.º 2
0
    //解析ErlKVMessgae
    public void parseKVMsg(ErlKVMessage message)
    {
        HeroRoadManagerment.Instance.map.Clear();
        ErlArray array = message.getValue("msg") as ErlArray;

        if (array != null)
        {
            ErlType[] values = array.Value;
            ErlArray  a, b;
            int       sid, active, conquest;
            HeroRoad  obj;
            for (int i = 0; i < values.Length; i++)
            {
                a                 = values [i] as ErlArray;
                sid               = StringKit.toInt(a.Value [0].getValueString());
                b                 = a.Value [1] as ErlArray;
                active            = StringKit.toInt(b.Value [0].getValueString());
                conquest          = StringKit.toInt(b.Value [1].getValueString());
                obj               = new HeroRoad();
                obj.sample        = HeroRoadSampleManager.Instance.getSampleBySid(sid);
                obj.activeCount   = active;
                obj.conquestCount = conquest;
                HeroRoadManagerment.Instance.map.Add(sid, obj);
            }
        }
    }
Ejemplo n.º 3
0
    public void init(HeroRoad heroRoad)
    {
        this.heroRoad = heroRoad;
        ChapterSample cs         = ChapterSampleManager.Instance.getChapterSampleBySid(heroRoad.sample.chapter);
        int           missionSid = cs.missions [Mathf.Min(heroRoad.conquestCount, cs.missions.Length - 1)];

        mission              = MissionSampleManager.Instance.getMissionSampleBySid(missionSid);
        lblName.text         = string.Format(LanguageConfigManager.Instance.getLanguage("s0389"), heroRoad.activeCount, heroRoad.sample.getMissionCount(), Mathf.Min(heroRoad.conquestCount + 1, heroRoad.sample.getMissionCount()));
        roleView.LockOnClick = false;

        int        bossID     = mission.bossSid;
        CardSample cardSample = CardSampleManager.Instance.getRoleSampleBySid(bossID);

        cardSample.level = StringKit.toInt(mission.other[2]);
        roleView.init(cardSample, window, null);


        HeroRoad.State state = heroRoad.getState();
        if (state == HeroRoad.State.COMPLETED)
        {
            buttonFight.GetComponent <BoxCollider> ().enabled = false;
            buttonFight.transform.FindChild("Label").GetComponent <UILabel> ().color = Color.gray;
        }
        else if (state == HeroRoad.State.WAIT)
        {
            //TODO
        }

        UpdateAward();
    }
Ejemplo n.º 4
0
    public void initHeroRoad(int honorGap, int rmbGap)
    {
        this.honorGap       = honorGap;
        this.rmbGap         = rmbGap;
        honorValue.text     = honorGap.ToString();
        rushMoneyValue.text = rmbGap.ToString();
        HeroRoadManagerment.Instance.currentHeroRoad.conquestCount++;
        HeroRoad road = HeroRoadManagerment.Instance.currentHeroRoad;
        Card     card = CardManagerment.Instance.createCard(road.sample.sid);

        ResourcesManager.Instance.LoadAssetBundleTexture(ResourcesManager.CARDIMAGEPATH + card.getImageID(), roadRoleTexture);
        chapterLabel.text          = LanguageConfigManager.Instance.getLanguage("prefabzc16", road.conquestCount.ToString()); //string.Format (chapterLabel.text, road.conquestCount);
        roadRoleQuality.spriteName = QualityManagerment.qualityIDToString(card.getQualityId()) + "Bg";
        NextSetp();
    }
Ejemplo n.º 5
0
    void UpdateTalent()
    {
        Utils.DestoryChilds(roadItemRoot);
        HeroRoad heroRoad = heroRoadItem.heroRoad;

        MissionSample[] missions = heroRoad.getMissionsByChapter();
        if (missions == null)
        {
            return;
        }
        EvolutionSample sample = EvolutionManagerment.Instance.getEvoInfoByType(heroRoad.sample.sid);

        if (sample == null)
        {
            return;
        }
        int[] awakeInfo = heroRoad.getAwakeInfo();
        for (int i = 0, j = 0; i < awakeInfo.Length; i++)
        {
            if (awakeInfo [i] == -1)
            {
                continue;
            }
            int                state         = awakeInfo [i];
            GameObject         talentitemObj = Instantiate(talentitem) as GameObject;
            CardAttrTalentItem talentItem    = talentitemObj.GetComponent <CardAttrTalentItem>();
            talentItem.text2.text = missions[i].other[3];
            talentItem.gameObject.SetActive(true);
            talentItem.transform.parent        = roadItemRoot.transform;
            talentItem.transform.localPosition = new Vector3(0, -115 + (j * -100), 0);
            talentItem.transform.localScale    = new Vector3(0.8f, 0.8f, 1);
            if (heroRoad.activeCount < (i + 1))
            {
                talentItem.text2.color = Color.gray;
            }
            else
            {
                talentItem.text2.color = Color.white;
            }
            talentItem.text1.gameObject.SetActive(true);
            talentItem.text1.text = string.Format(LanguageConfigManager.Instance.getLanguage("s0445"), i + 1, getTalentNeedTimes(sample, j));
            j++;
        }
    }
Ejemplo n.º 6
0
    /** 获取当前卡片已激活天赋前置次数 */
    public int getOpenTalentNum(Card card)
    {
        int num = 0;

        if (HeroRoadManagerment.Instance.isHaveBySid(card.getEvolveNextSid()))
        {
            HeroRoad heroRoad  = HeroRoadManagerment.Instance.map [card.getEvolveNextSid()];
            int[]    awakeInfo = heroRoad.getAwakeInfo();
            for (int i = 0; i < awakeInfo.Length; i++)
            {
                if (awakeInfo [i] == 1)
                {
                    num++;
                }
            }
            return(num);
        }
        else
        {
            return(num);
        }
    }
Ejemplo n.º 7
0
    /** 不能随便调用,因为判断成功的同时,就等于激活了新的英雄之章 */
    public bool activeHeroRoadIfNeed(Card c)
    {
        if (c == null)
        {
            return(false);
        }
        // Debug.LogError("c.getQualityId()" + c.getQualityId());
        if (c.getQualityId() == 6)
        {
            return(false);
        }

        int type = c.getEvolveNextSid();

        if (type > 0)
        {
            HeroRoad obj = null;
            if (map.ContainsKey(type))
            {
                obj = map[type];
                if (obj.activeCount < obj.sample.getMissionCount())
                {
                    obj.activeCount++;
                    return(true);
                }
            }
            else
            {
                obj             = new HeroRoad();
                obj.sample      = HeroRoadSampleManager.Instance.getSampleBySid(type);
                obj.activeCount = 1;
                map.Add(type, obj);
                return(true);
            }
        }
        return(false);
    }
Ejemplo n.º 8
0
    public HeroRoad currentHeroRoad;     //正在进行的英雄之章

    public void clean()
    {
        currentHeroRoad = null;
    }