示例#1
0
    private void Init()
    {
        List <InstanceSkill> skills = new List <InstanceSkill> ();

        foreach (InstanceUnit unit in InstancePlayer.instance.battle.myTeam.units)
        {
            if (unit != null && unit.heroId > 0)
            {
                DataHeroLeadership heroLeadership = DataManager.instance.dataHeroGroup.GetHeroLeadership(unit.heroId);
                skills.Add(new InstanceSkill(heroLeadership.skill, 1, 1));
            }
        }

        /*
         * int[] heroesId = InstancePlayer.instance.model_User.model_Formation.GetSelectTeamHeroesId ();
         * foreach (int heroId in heroesId) {
         *      DataHeroLeadership heroLeadership = DataManager.instance.dataHeroGroup.GetHeroLeadership (heroId);
         *      skills.Add (new InstanceSkill (heroLeadership.skill, 1, 1));
         * }
         */

        _slotCount = skills.Count;
        _slots     = new InstanceSkill[_slotCount];
        _slots     = skills.ToArray();
    }
示例#2
0
    public void LoadHerosLeadership(string name)
    {
        byte[] bin     = DynamicFileControl.QueryFileContent(name);
        string content = StringHelper.ReadFromBytes(bin);

        LitJson.JSONNode json = LitJson.JSON.Parse(content);

        foreach (LitJson.JSONNode subNode in json.Childs)
        {
            DataHeroLeadership data = new DataHeroLeadership();
            data.Load(subNode);

            heroesLeadershipMap[data.id] = data;
        }
    }
    public void Init(GameObject parent, HeroDataManager.HeroData heroData)
    {
        _root = new GameObject("PolyRoot");
        _root.transform.parent = parent.transform;
        _root.layer            = parent.layer;

//		_root.transform.localPosition   = Vector3.zero;
//		_root.transform.localRotation  = Quaternion.identity;
        _root.transform.localScale = Vector3.one;

//		background = ResourceHelper.Load(HERO_PLANE_PATH);
//		background.layer = _root.layer;
//		background.transform.parent = _root.transform;
//		background.transform.position = new Vector3(0, 0, 5);
//		background.AddComponent<UIHeroPolyPlane>().CreateMesh(Color.yellow);

        foreground                  = ResourceHelper.Load(HERO_PLANE_PATH);
        foreground.layer            = _root.layer;
        foreground.transform.parent = _root.transform;

        pHandle = foreground.AddComponent <UIHeroPolyPlane> ();
        pHandle.CreateMesh(Color.red);
        DataHeroLeadership heroLeadership = DataManager.instance.dataHeroGroup.GetHeroLeadership(heroData.id);

        curValue    = new float[5];
        curValue[0] = heroLeadership.kTank;
        curValue[1] = heroLeadership.kMissile;
        curValue[2] = heroLeadership.kUnknown;
        curValue[3] = heroLeadership.kGun;
        curValue[4] = heroLeadership.kCannon;
        for (int i = 0; i < curValue.Length; i++)
        {
            pHandle.SetSectionValue(i, curValue[i]);
        }
        _root.transform.localPosition = parent.transform.localPosition;
        _root.transform.localScale   *= 0.21f;

//		CreateLineRender ();
    }
示例#4
0
    void UpdataUI()
    {
        if (_heroData != null)
        {
            _iconBg.spriteName = _heroData.IconBgName;
            _icon_Texture.SetHeroSmallTexture(_heroData.id);
            switch (_heroData.team)
            {
            case HeroDataManager.TEAM.NOTEAM:
                _formation_sprite.gameObject.SetActive(false);
                break;

            case HeroDataManager.TEAM.FIRSTTEAM:
                _formation_sprite.gameObject.SetActive(true);
                _formation_sprite.spriteName = "heroTeam_" + (int)_heroData.team;
                break;

            case HeroDataManager.TEAM.SECONDTEAM:
                _formation_sprite.gameObject.SetActive(true);
                _formation_sprite.spriteName = "heroTeam_" + (int)_heroData.team;
                break;

            case HeroDataManager.TEAM.THIRDTEAM:
                _formation_sprite.gameObject.SetActive(true);
                _formation_sprite.spriteName = "heroTeam_" + (int)_heroData.team;
                break;
            }
            _type_Sprite.spriteName = "arms_" + (int)_heroData.heroType;
            _heroName_Label.color   = _heroData.nameColor;
            _heroName_Label.text    = _heroData.data.name;
            int             exp             = 0;
            Model_HeroGroup model_heroGroup = InstancePlayer.instance.model_User.model_heroGroup;
            if (_heroData.recruitType == HeroDataManager.RecruitType.ALREADYRECRUIT)
            {
                Hero hero = model_heroGroup.GetHero(_heroData.id);
                exp = hero.exp;
                _manager_Btn.gameObject.SetActive(true);
                _upLevel_Btn.gameObject.SetActive(true);
                _heroLevel_Label.gameObject.SetActive(true);
                _heroLevel_Label.text = model_heroGroup.GetCurrentLevel(_heroData.id).ToString();
                _rank_sprite.gameObject.SetActive(true);
                _rank_sprite.spriteName = UICommon.HERO_RANK_ICON_PATH + model_heroGroup.GetCurrentStage(_heroData.id);
                DataHero dataHero = DataManager.instance.dataHeroGroup.GetHero(_heroData.id, hero.exp, hero.stage);
                //hp
                _attributeValue_Label_1.text = ((int)dataHero.basicParam.hp).ToString();
                //ap
                _attributeValue_Label_2.text = ((int)dataHero.basicParam.damage).ToString();
                //dp
                _attributeValue_Label_3.text = ((int)dataHero.basicParam.ammo).ToString();
                //hitRate
                float  hitDodDou     = 0.0f;
                string hitDodDouDesc = "";
                if (dataHero.basicParam.hitRate != 0.0f)
                {
                    hitDodDouDesc = "命中";
                    hitDodDou     = dataHero.basicParam.hitRate;
                }
                if (dataHero.basicParam.dodgeRate != 0.0f)
                {
                    hitDodDouDesc = "闪避";
                    hitDodDou     = dataHero.basicParam.dodgeRate;
                }
                if (dataHero.basicParam.doubleDamageRate != 0.0f)
                {
                    hitDodDouDesc = "暴击";
                    hitDodDou     = dataHero.basicParam.doubleDamageRate;
                }
                if (hitDodDou != 0.0f)
                {
                    _attribute_Label_4.gameObject.SetActive(true);
                    _attributeValue_Label_4.text = hitDodDou.ToString();
                }
                else
                {
                    _attribute_Label_4.gameObject.SetActive(false);
                }
            }
            else
            {
                _manager_Btn.gameObject.SetActive(false);
                _upLevel_Btn.gameObject.SetActive(false);
                exp = _heroData.exp;
                _heroLevel_Label.gameObject.SetActive(false);
                _rank_sprite.gameObject.SetActive(false);
                //hp
                _attributeValue_Label_1.text = ((int)_heroData.data.basicParam.hp).ToString();
                //ap
                _attributeValue_Label_2.text = ((int)_heroData.data.basicParam.damage).ToString();
                //dp
                _attributeValue_Label_3.text = ((int)_heroData.data.basicParam.ammo).ToString();
                //hitRate
                _attribute_Label_4.gameObject.SetActive(false);
                _attributeValue_Label_4.text = (_heroData.data.basicParam.hitRate).ToString();
            }

            float heroExpToNextLevel      = (float)DataManager.instance.dataHeroGroup.GetHeroExpToNextLevel(_heroData.id, exp);
            float heroTotalExpToNextLevel = (float)DataManager.instance.dataHeroGroup.GetHeroTotalExpToNextLevel(_heroData.id, exp);
            if (heroExpToNextLevel == 0 || heroTotalExpToNextLevel == 0)
            {
                _expLabel.text = "军官已满级";
            }
            {
                _Timer_Colored_Slider.value = (heroTotalExpToNextLevel - heroExpToNextLevel) / heroTotalExpToNextLevel;
                _expLabel.text = (heroTotalExpToNextLevel - heroExpToNextLevel) + "/" + heroTotalExpToNextLevel;
            }

            DataHeroLeadership heroLeaderData = DataManager.instance.dataHeroGroup.GetHeroLeadership(_heroData.id);
            DataSkill          skillData      = DataManager.instance.dataSkillGroup.GetSkill(heroLeaderData.skill, 1);
            _skillName.text       = skillData.name;
            _skillIcon.spriteName = "SkillICONS_" + (int)heroLeaderData.skill;
//			_skillAttribute_Label.text = skillData.


            _ability_Label_1.text = "坦克" + ((int)(heroLeaderData.kTank * 100)).ToString() + "%";
            _ability_Label_2.text = "导弹" + "\n" + ((int)(heroLeaderData.kMissile * 100)).ToString() + "%";
            _ability_Label_3.text = "反坦" + ((int)(heroLeaderData.kUnknown * 100)).ToString() + "%";
            _ability_Label_4.text = "装甲" + ((int)(heroLeaderData.kGun * 100)).ToString() + "%";
            _ability_Label_5.text = "火炮" + "\n" + ((int)(heroLeaderData.kCannon * 100)).ToString() + "%";
        }
    }
示例#5
0
    public HeroData InitHeroData(DataHero data)
    {
        if (data != null)
        {
            DataHeroLeadership heroLeadershipData = heroGroupData.GetHeroLeadership(data.id);

            Model_HeroGroup model_heroGroup = InstancePlayer.instance.model_User.model_heroGroup;
            Model_ItemGroup model_itemGroup = InstancePlayer.instance.model_User.model_itemGroup;
            Model_Formation model_formation = InstancePlayer.instance.model_User.model_Formation;
            HeroData        heroData        = new HeroData();
            heroData.id       = data.id;
            heroData.heroType = (HeroType)data.type;
            heroData.quality  = heroLeadershipData.quality;
            heroData.IconName = UICommon.HERO_TEXTURE_ICON_PATH + data.id;
            heroData.skillId  = (int)heroLeadershipData.skill;
            heroData.data     = data;
            DataHeroUpgrade heroUpgradeData = heroGroupData.GetHeroUpgrade(data.id, 1);
            heroData.heroUpgradeData = heroUpgradeData;
            if (model_heroGroup.heroesMap.ContainsKey(data.id))
            {
                heroData.level       = model_heroGroup.GetCurrentLevel(data.id);
                heroData.recruitType = RecruitType.ALREADYRECRUIT;
                heroData.rank        = model_heroGroup.GetCurrentStage(data.id);
                heroData.rankName    = UICommon.HERO_RANK_ICON_PATH + model_heroGroup.GetCurrentStage(data.id);
                heroData.exp         = model_heroGroup.GetHero(data.id).exp;
            }
            else
            {
                heroData.level    = 1;
                heroData.rank     = 1;            //默认军衔为下士
                heroData.rankName = UICommon.HERO_RANK_ICON_PATH + "1";
                heroData.exp      = 0;

                //isCanUnlock 是否能解锁
                Item item = model_itemGroup.QueryItem(heroUpgradeData.itemId);
                if (item.num >= heroUpgradeData.itemCount)
                {
                    heroData.recruitType = RecruitType.CANRECRUIT;
                }
                else
                {
                    heroData.recruitType = RecruitType.UNABLERECRUIT;
                }
            }
            //英雄是否上阵
            for (int i = 1; i < 4; i++)
            {
                heroData.team = (TEAM)0;
                if (model_formation.IsTeamContaninHero(i, data.id))
                {
                    heroData.team = (TEAM)i;
                    break;
                }
            }

            switch ((int)heroLeadershipData.quality)
            {
            case 1:
                heroData.nameColor  = UICommon.UNIT_NAME_COLOR_0;
                heroData.IconBgName = UICommon.UNIT_ICON_BG + "0";
                break;

            case 2:
                heroData.nameColor  = UICommon.UNIT_NAME_COLOR_1;
                heroData.IconBgName = UICommon.UNIT_ICON_BG + "1";
                break;

            case 3:
                heroData.nameColor  = UICommon.UNIT_NAME_COLOR_2;
                heroData.IconBgName = UICommon.UNIT_ICON_BG + "2";
                break;

            case 4:
                heroData.nameColor  = UICommon.UNIT_NAME_COLOR_3;
                heroData.IconBgName = UICommon.UNIT_ICON_BG + "3";
                break;

            case 5:
                heroData.nameColor  = UICommon.UNIT_NAME_COLOR_4;
                heroData.IconBgName = UICommon.UNIT_ICON_BG + "4";
                break;

            default:
                heroData.nameColor  = UICommon.UNIT_NAME_COLOR_0;
                heroData.IconBgName = UICommon.UNIT_ICON_BG + "0";
                break;
            }

            return(heroData);
        }
        return(null);
    }