示例#1
0
    public override void Init()
    {
        complexBattleParam = new DataUnit.BasicBattleParam();
        complexBattleParam.Copy(dataUnit.battleParam);

        Model_Unit modelUnit = new Model_Unit();

        modelUnit.Parse(pbUnit);
        DataUnitPart[] dataParts = modelUnit.GetDataParts();
        foreach (DataUnitPart part in dataParts)
        {
            complexBattleParam.Add(part.battleParam);
        }

        if (heroId > 0)
        {
            DataHero dataHero = DataManager.instance.dataHeroGroup.GetHero(heroId, pbHero.exp, pbHero.stage);
            complexBattleParam.Add(dataHero.basicParam);
        }

        complexBattleParam.damage *= powerScale;
        complexBattleParam.ammo   *= powerScale;
        complexBattleParam.hp     *= unitCount;
        currentHp = complexBattleParam.hp;
    }
示例#2
0
    virtual public void Init()
    {
        complexBattleParam = new DataUnit.BasicBattleParam();
        complexBattleParam.Copy(_dataUnit.battleParam);

        if (isPlayerUnit)
        {
            if (InstancePlayer.instance.model_User.isLogin)
            {
                Model_Unit     modelUnit = InstancePlayer.instance.model_User.unlockUnits [unitId];
                DataUnitPart[] dataParts = modelUnit.GetDataParts();
                foreach (DataUnitPart part in dataParts)
                {
                    complexBattleParam.Add(part.battleParam);
                }
            }

            if (heroId > 0)
            {
                SlgPB.Hero hero     = InstancePlayer.instance.model_User.model_heroGroup.GetHero(heroId);
                DataHero   dataHero = DataManager.instance.dataHeroGroup.GetHero(heroId, hero.exp, hero.stage);
                complexBattleParam.Add(dataHero.basicParam);
            }
        }

        complexBattleParam.damage *= powerScale;
        complexBattleParam.ammo   *= powerScale;
        complexBattleParam.hp     *= unitCount;
        currentHp = complexBattleParam.hp;
    }
示例#3
0
    public static int CalcUnitPower(int unitId, int unitCount, int heroId)
    {
        Model_Unit modelUnit = InstancePlayer.instance.model_User.unlockUnits [unitId];
        DataUnit   dataUnit  = DataManager.instance.dataUnitsGroup.GetUnit(unitId);

        DataUnitPart[] dataUnitParts = modelUnit.GetDataParts();

        int pHero = 0;

        if (heroId > 0)
        {
            SlgPB.Hero modelHero = InstancePlayer.instance.model_User.model_heroGroup.GetHero(heroId);
            DataHero   dataHero  = DataManager.instance.dataHeroGroup.GetHero(heroId, modelHero.exp, modelHero.stage);
            pHero = dataHero.basicParam.CalcPower();
        }

        int pUnit  = dataUnit.battleParam.CalcPower();
        int pTotal = pHero + pUnit * unitCount;

        foreach (DataUnitPart dataUnitPart in dataUnitParts)
        {
            if (dataUnitPart != null)
            {
                int pPart = dataUnitPart.battleParam.CalcPower();
                pTotal += pPart;
            }
        }

        return(pTotal);
    }
示例#4
0
    public int CalcHeroLeadership(int heroId, int unitId)
    {
        SlgPB.Hero hero = InstancePlayer.instance.model_User.model_heroGroup.GetHero(heroId);

        DataHero dataHero = DataManager.instance.dataHeroGroup.GetHero(heroId, hero.exp, hero.stage);

        return(dataHero.leadership);
    }
示例#5
0
    private void UpdateHeroUI(GameObject cell, Model_HeroGroup.ExpChangeResult expHero)
    {
        UILabel name  = cell.transform.Find("Name").GetComponent <UILabel> ();
        UILabel level = cell.transform.Find("Level").GetComponent <UILabel> ();

        DataHero dataHero = DataManager.instance.dataHeroGroup.GetHeroPrimitive(expHero.heroId);

        name.text  = dataHero.name;
        level.text = expHero.level + "";
    }
示例#6
0
    public void UpdateUI(UIHeroCategory.Hero heroCategory)
    {
        SlgPB.Hero pb_hero = heroCategory.pb_Hero;
        heroId = pb_hero.heroId;

        DataHero dataHero = DataManager.instance.dataHeroGroup.GetHero(pb_hero.heroId, pb_hero.exp, pb_hero.stage);

        _heroSprite.spriteName = UICommon.HERO_BODY_ICON_PATH + pb_hero.heroId;
        _nameLabel.text        = dataHero.name;

        SetOnDutyVisible(heroCategory.isOnDuty);
    }
示例#7
0
    public void UpdateUI(int heroId)
    {
        _heroId = heroId;

        SlgPB.Hero hero     = InstancePlayer.instance.model_User.model_heroGroup.GetHero(heroId);
        DataHero   dataHero = DataManager.instance.dataHeroGroup.GetHero(heroId, hero.exp, hero.stage);

        _heroSprite.spriteName = UICommon.HERO_HEAD_ICON_PATH + hero.heroId;
        _nameLabel.text        = dataHero.name;

        this.GetComponent <UIHeroBodyItem> ().heroId = heroId;
    }
示例#8
0
    public object Clone()
    {
        DataHero clone = new DataHero();

        clone.id   = id;
        clone.name = name;
//		clone.level  = level;
        clone.basicParam = basicParam.Clone() as DataUnit.BasicBattleParam;
        clone.leadership = leadership;

        return(clone);
    }
示例#9
0
    // 点击进入hero 详情页面
    public void HeroDetialPanelCB()
    {
        UIHeroDragItem dragUI = GetComponent <UIHeroDragItem> ();

        if (dragUI.state == UIHeroDragItem.STATE.SCROLLVIEW)
        {
            HeroDataManager          dataHeroManager = new HeroDataManager();
            DataHero                 dataHero        = DataManager.instance.dataHeroGroup.GetHeroPrimitive(heroId);
            HeroDataManager.HeroData uiHeroData      = dataHeroManager.InitHeroData(dataHero);

            UIController.instance.CreatePanel(UICommon.UI_PANEL_HEROUPLEVEL, uiHeroData);
        }
    }
示例#10
0
    public void SetRole(DataHero data, CreateModelCallBack callBack, float outLine = 0, bool playAnimation = true)
    {
//         _data = data;
//         _callBack = callBack;
//         //设置角色界面技能图标
//         string modelId = _data.Config.view_id;
//         HeroWeaponConfigItem item = ConfigDataMgr.getInstance().GetHeroWeaponCfg(modelId, _data.Phase, _data.ExclusiveLv);
//         if (item == null)
//             return;
//
//         int equipLv = _data.ExclusiveLv != 0 ? 2 : item.weapon1_id;
//
//         CreateRole(modelId, equipLv, outLine, playAnimation);
    }
 public DBFromPlayerPref()
 {
     Debug.Log("LoadPref");
     if (PlayerPrefs.GetInt("ConvertFromText", 0) == 0)
     {
         //PlayerPrefs.SetInt("ConvertFromText", 1);
         //data = SaveIO.LoadData("DataHero");
         DataHero data = new DataHero("Nami", 69, 0.01f);
         SaveData(data);
     }
     else
     {
         LoadData();
     }
 }
示例#12
0
    public DataHero[] GetAllHeroPrimitive()
    {
        DataHero[] heroes = new DataHero[heroesMap.Values.Count];
        heroesMap.Values.CopyTo(heroes, 0);
        return(heroes);

        /*
         * DataHero[] heros = new DataHero[heroesMap.Count];
         * int i = 0;
         * foreach( Dictionary<int, DataHero> levels in heroesMap.Values)
         * {
         *      heros[i]  = levels [level];
         ++i;
         * }
         * return heros;
         */
    }
示例#13
0
    public DataHero GetHero(int id, int exp, int stage)
    {
        DataHero dataHero = heroesMap [id];

        dataHero = dataHero.Clone() as DataHero;

        /*
         * SlgPB.Hero hero = InstancePlayer.instance.model_User.model_heroGroup.GetHero ();
         * int stage = hero.stage;
         */

        int             level       = GetHeroLevel(id, exp);
        DataHeroUpgrade dataUpgrade = GetHeroUpgrade(id, stage);

        dataHero.AddUpgradeEffect(dataUpgrade, level);

        return(dataHero);

        /*
         * Dictionary<int, DataHero> levels = heroesMap [id];
         * return levels [level];
         */
    }
示例#14
0
    /*
     * public void GetHeroProperty(int id, int exp, int stage,
     *                          out DataHero hero, out DataHeroLeadership leadership, out DataHeroUpgrade upgrade)
     * {
     *      int level = GetHeroLevel (id, exp);
     *      hero = GetHero (id, level);
     *      leadership = GetHeroLeadership (id);
     *      upgrade = GetHeroUpgrade (id, stage);
     * }
     */

    public void LoadHeros(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)
        {
            DataHero data = new DataHero();
            data.Load(subNode);

            heroesMap[data.id] = data;

            /*
             * if(!heroesMap.ContainsKey(data.id))
             * {
             *      heroesMap[data.id] = new Dictionary<int, DataHero>();
             * }
             * Dictionary<int, DataHero> levelsMap = heroesMap[data.id];
             * levelsMap[data.level] = data;
             */
        }
    }
示例#15
0
    /// <summary>
    /// 获取声音文件的名字(判断现在应该播放哪一个)
    /// </summary>
    /// <param name="data"></param>
    /// <param name="type"></param>
    /// <returns></returns>
    private string getSoundTalkName(DataHero data)
    {
        return("");
//         uint first = 1;
//         uint secend = 2;
//         if (ClientDefine.heroSoundDic.ContainsKey(data.Id) ==false) {
//             ClientDefine.heroSoundDic[data.Id] = first;
//         }else {
//             uint id = ClientDefine.heroSoundDic[data.Id];
//             ClientDefine.heroSoundDic[data.Id] = (id == first ? secend : first);
//         }
//         uint type = ClientDefine.heroSoundDic[data.Id];
//         string soundName = data.Config.speak_1;
//         switch (type)
//         {
//             case 1:
//                 soundName = data.Config.speak_1;
//                 break;
//             case 2:
//                 soundName = data.Config.speak_2;
//                 break;
//         }
//         return soundName;
    }
 public void LoadData()
 {
     data = JsonUtility.FromJson <DataHero>(PlayerPrefs.GetString("DataHero"));
 }
示例#17
0
        private void SetUpDataProcessors()
        {
            IXmlDataService xmlDataService = new XmlDataService(Configuration, GameData, DefaultData);

            DataHero              dataHero              = new DataHero(new HeroDataParser(xmlDataService.GetInstance(), (HeroOverrideLoader)XmlDataOverriders.GetOverrider(typeof(HeroDataParser))));
            DataUnit              dataUnit              = new DataUnit(new UnitParser(xmlDataService.GetInstance(), (UnitOverrideLoader)XmlDataOverriders.GetOverrider(typeof(UnitParser))));
            DataMatchAward        dataMatchAward        = new DataMatchAward(new MatchAwardParser(xmlDataService.GetInstance(), (MatchAwardOverrideLoader)XmlDataOverriders.GetOverrider(typeof(MatchAwardParser))));
            DataHeroSkin          dataHeroSkin          = new DataHeroSkin(new HeroSkinParser(xmlDataService.GetInstance()));
            DataMount             dataMount             = new DataMount(new MountParser(xmlDataService.GetInstance()));
            DataBanner            dataBanner            = new DataBanner(new BannerParser(xmlDataService.GetInstance()));
            DataSpray             dataSpray             = new DataSpray(new SprayParser(xmlDataService.GetInstance()));
            DataAnnouncer         dataAnnouncer         = new DataAnnouncer(new AnnouncerParser(xmlDataService.GetInstance()));
            DataVoiceLine         dataVoiceLine         = new DataVoiceLine(new VoiceLineParser(xmlDataService.GetInstance()));
            DataPortrait          dataPortrait          = new DataPortrait(new PortraitParser(xmlDataService.GetInstance()));
            DataEmoticon          dataEmoticon          = new DataEmoticon(new EmoticonParser(xmlDataService.GetInstance()));
            DataEmoticonPack      dataEmoticonPack      = new DataEmoticonPack(new EmoticonPackParser(xmlDataService.GetInstance()));
            DataBehaviorVeterancy dataBehaviorVeterancy = new DataBehaviorVeterancy(new BehaviorVeterancyParser(xmlDataService.GetInstance()));

            ImageHero       filesHero       = new ImageHero(CASCHotsStorage?.CASCHandler, StoragePath);
            ImageUnit       filesUnit       = new ImageUnit(CASCHotsStorage?.CASCHandler, StoragePath);
            ImageMatchAward filesMatchAward = new ImageMatchAward(CASCHotsStorage?.CASCHandler, StoragePath);
            ImageAnnouncer  filesAnnouncer  = new ImageAnnouncer(CASCHotsStorage?.CASCHandler, StoragePath);
            ImageVoiceLine  filesVoiceLine  = new ImageVoiceLine(CASCHotsStorage?.CASCHandler, StoragePath);
            ImageSpray      filesSpray      = new ImageSpray(CASCHotsStorage?.CASCHandler, StoragePath);
            ImageEmoticon   filesEmoticon   = new ImageEmoticon(CASCHotsStorage?.CASCHandler, StoragePath);

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.HeroData),
                Name      = dataHero.Name,
                Parse     = (localization) => dataHero.Parse(localization),
                Validate  = (localization) => dataHero.Validate(localization),
                Extract   = (data) => filesHero.ExtractFiles(data),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.Unit),
                Name      = dataUnit.Name,
                Parse     = (localization) => dataUnit.Parse(localization),
                Validate  = (localization) => dataUnit.Validate(localization),
                Extract   = (data) => filesUnit.ExtractFiles(data),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.MatchAward),
                Name      = dataMatchAward.Name,
                Parse     = (localization) => dataMatchAward.Parse(localization),
                Validate  = (localization) => dataMatchAward.Validate(localization),
                Extract   = (data) => filesMatchAward.ExtractFiles(data),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.HeroSkin),
                Name      = dataHeroSkin.Name,
                Parse     = (localization) => dataHeroSkin.Parse(localization),
                Validate  = (localization) => dataHeroSkin.Validate(localization),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.Mount),
                Name      = dataMount.Name,
                Parse     = (localization) => dataMount.Parse(localization),
                Validate  = (localization) => dataMount.Validate(localization),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.Banner),
                Name      = dataBanner.Name,
                Parse     = (localization) => dataBanner.Parse(localization),
                Validate  = (localization) => dataBanner.Validate(localization),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.Spray),
                Name      = dataSpray.Name,
                Parse     = (localization) => dataSpray.Parse(localization),
                Validate  = (localization) => dataSpray.Validate(localization),
                Extract   = (data) => filesSpray.ExtractFiles(data),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.Announcer),
                Name      = dataAnnouncer.Name,
                Parse     = (localization) => dataAnnouncer.Parse(localization),
                Validate  = (localization) => dataAnnouncer.Validate(localization),
                Extract   = (data) => filesAnnouncer.ExtractFiles(data),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.VoiceLine),
                Name      = dataVoiceLine.Name,
                Parse     = (localization) => dataVoiceLine.Parse(localization),
                Validate  = (localization) => dataVoiceLine.Validate(localization),
                Extract   = (data) => filesVoiceLine.ExtractFiles(data),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.Portrait),
                Name      = dataPortrait.Name,
                Parse     = (localization) => dataPortrait.Parse(localization),
                Validate  = (localization) => dataPortrait.Validate(localization),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.Emoticon),
                Name      = dataEmoticon.Name,
                Parse     = (localization) => dataEmoticon.Parse(localization),
                Validate  = (localization) => dataEmoticon.Validate(localization),
                Extract   = (data) => filesEmoticon.ExtractFiles(data),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.EmoticonPack),
                Name      = dataEmoticonPack.Name,
                Parse     = (localization) => dataEmoticonPack.Parse(localization),
                Validate  = (localization) => dataEmoticonPack.Validate(localization),
            });

            DataProcessors.Add(new DataProcessor()
            {
                IsEnabled = ExtractDataOption.HasFlag(ExtractDataOption.Veterancy),
                Name      = dataBehaviorVeterancy.Name,
                Parse     = (localization) => dataBehaviorVeterancy.Parse(localization),
                Validate  = (localization) => dataBehaviorVeterancy.Validate(localization),
            });
        }
示例#18
0
    /// <summary>
    /// 穿件隐去英雄,只显示武器的模型
    /// </summary>
    /// <param name="data"></param>
    /// <param name="callBack"></param>
    /// <param name="outLine"></param>
    public void ShowWeapen(DataHero data, CreateModelCallBack callBack, float outLine = 0)
    {
//         bWeaponModel = true;
//         string shaping = data.ViewId + ",1," + data.Phase;
//         SetRole(shaping, callBack, outLine, false);
    }
示例#19
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;

            Model_HeroGroup model_heroGroup = InstancePlayer.instance.model_User.model_heroGroup;
            _rank_sprite.spriteName = UICommon.HERO_RANK_ICON_PATH + model_heroGroup.GetCurrentStage(_heroData.id);
            _heroLevel_Label.text   = model_heroGroup.GetCurrentLevel(_heroData.id).ToString();

            int  heroLevel = model_heroGroup.GetCurrentLevel(_heroData.id);
            Hero hero      = model_heroGroup.GetHero(_heroData.id);

            DataHero        dataHero1        = DataManager.instance.dataHeroGroup.GetHero(_heroData.id, hero.exp, hero.stage);
            DataHeroUpgrade dataHeroUpgrade1 = DataManager.instance.dataHeroGroup.GetHeroUpgrade(_heroData.id, hero.stage);
            if (dataHeroUpgrade1.requireLevel > heroLevel)
            {
                _LevelValue_Label.text = UIHelper.SetStringSixteenColor(heroLevel.ToString(), UICommon.SIXTEEN_RED) + UIHelper.SetStringSixteenColor("/" + dataHeroUpgrade1.requireLevel.ToString(), UICommon.SIXTEEN_GREEN);
            }
            else
            {
                _LevelValue_Label.text = UIHelper.SetStringSixteenColor(heroLevel.ToString(), UICommon.SIXTEEN_GREEN) + UIHelper.SetStringSixteenColor("/" + dataHeroUpgrade1.requireLevel.ToString(), UICommon.SIXTEEN_GREEN);
            }
            Item item = InstancePlayer.instance.model_User.model_itemGroup.QueryItem(dataHeroUpgrade1.itemId);
            if (item.num < dataHeroUpgrade1.itemCount)
            {
                _number_Label.text = UIHelper.SetStringSixteenColor(item.num.ToString(), UICommon.SIXTEEN_RED) + UIHelper.SetStringSixteenColor("/" + dataHeroUpgrade1.itemCount.ToString(), UICommon.SIXTEEN_GREEN);
            }
            else
            {
                _number_Label.text = UIHelper.SetStringSixteenColor(item.num.ToString(), UICommon.SIXTEEN_GREEN) + UIHelper.SetStringSixteenColor("/" + dataHeroUpgrade1.itemCount.ToString(), UICommon.SIXTEEN_GREEN);
            }
            //hp
            _current_Label_1.text = ((int)dataHero1.basicParam.hp).ToString();
            //ap
            _current_Label_2.text = ((int)dataHero1.basicParam.damage).ToString();
            //dp
            _current_Label_3.text   = ((int)dataHero1.basicParam.ammo).ToString();
            _UPcurrent_Label_1.text = dataHeroUpgrade1.kHP.ToString();
            _UPcurrent_Label_2.text = dataHeroUpgrade1.kAP.ToString();
            _UPcurrent_Label_3.text = dataHeroUpgrade1.kDP.ToString();

            if (hero.stage + 1 > MAXSTAGE)
            {
                _willbe_Label_1.gameObject.SetActive(false);
                _willbe_Label_2.gameObject.SetActive(false);
                _willbe_Label_3.gameObject.SetActive(false);
                _UPwillbe_Label_1.gameObject.SetActive(false);
                _UPwillbe_Label_2.gameObject.SetActive(false);
                _UPwillbe_Label_3.gameObject.SetActive(false);
            }
            else
            {
                DataHero        dataHero2        = DataManager.instance.dataHeroGroup.GetHero(_heroData.id, hero.exp, hero.stage + 1);
                DataHeroUpgrade dataHeroUpgrade2 = DataManager.instance.dataHeroGroup.GetHeroUpgrade(_heroData.id, hero.stage + 1);
                _willbe_Label_1.gameObject.SetActive(true);
                _willbe_Label_2.gameObject.SetActive(true);
                _willbe_Label_3.gameObject.SetActive(true);
                _UPwillbe_Label_1.gameObject.SetActive(true);
                _UPwillbe_Label_2.gameObject.SetActive(true);
                _UPwillbe_Label_3.gameObject.SetActive(true);
                _willbe_Label_1.text   = ((int)dataHero2.basicParam.hp).ToString();
                _willbe_Label_2.text   = ((int)dataHero2.basicParam.damage).ToString();
                _willbe_Label_3.text   = ((int)dataHero2.basicParam.ammo).ToString();
                _UPwillbe_Label_1.text = dataHeroUpgrade2.kHP.ToString();
                _UPwillbe_Label_2.text = dataHeroUpgrade2.kAP.ToString();
                _UPwillbe_Label_3.text = dataHeroUpgrade2.kDP.ToString();
            }

            //hitRate
            float  hitDodDou     = 0.0f;
            string hitDodDouDesc = "";
            if (dataHero1.basicParam.hitRate != 0.0f)
            {
                hitDodDouDesc = "命中";
                hitDodDou     = dataHero1.basicParam.hitRate;
            }
            if (dataHero1.basicParam.dodgeRate != 0.0f)
            {
                hitDodDouDesc = "闪避";
                hitDodDou     = dataHero1.basicParam.dodgeRate;
            }
            if (dataHero1.basicParam.doubleDamageRate != 0.0f)
            {
                hitDodDouDesc = "暴击";
                hitDodDou     = dataHero1.basicParam.doubleDamageRate;
            }
            if (hitDodDou != 0.0f)
            {
                _attribute_Label_4.gameObject.SetActive(true);
                _current_Label_4.text = hitDodDou.ToString();
            }
            else
            {
                _attribute_Label_4.gameObject.SetActive(false);
            }


            if (hero.stage + 1 > MAXSTAGE)
            {
                _willbe_Label_4.gameObject.SetActive(false);
            }
            else
            {
                _willbe_Label_4.gameObject.SetActive(true);
                DataHero dataHero2 = DataManager.instance.dataHeroGroup.GetHero(_heroData.id, hero.exp, hero.stage + 1);
                if (dataHero2.basicParam.hitRate != 0.0f)
                {
                    hitDodDouDesc = "命中";
                    hitDodDou     = dataHero2.basicParam.hitRate;
                }
                if (dataHero2.basicParam.dodgeRate != 0.0f)
                {
                    hitDodDouDesc = "闪避";
                    hitDodDou     = dataHero2.basicParam.dodgeRate;
                }
                if (dataHero2.basicParam.doubleDamageRate != 0.0f)
                {
                    hitDodDouDesc = "暴击";
                    hitDodDou     = dataHero2.basicParam.doubleDamageRate;
                }
                if (hitDodDou != 0.0f)
                {
                    _willbe_Label_4.gameObject.SetActive(true);
                    _willbe_Label_4.text = hitDodDou.ToString();
                }
                else
                {
                    _willbe_Label_4.gameObject.SetActive(false);
                }
            }
        }
    }
示例#20
0
 // Save Load of Reaward FREE
 public static void SaveData(DataHero data, string fileName)
 {
     FileReadWrite.WriteToBinaryFile(baseSavePath + "/" + fileName + ".dat", data);
 }
示例#21
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);
    }
示例#22
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() + "%";
        }
    }
示例#23
0
    public static UIDropItem GetUIDropItemByPrizeItem(SlgPB.PrizeItem prizeItem)
    {
        UIDropItem drop = new UIDropItem(prizeItem);

        switch (drop.type)
        {
        case (int)DataConfig.DATA_TYPE.Unit:
        {
            DataUnit dataUnit = DataManager.instance.dataUnitsGroup.GetUnit(drop.id);
            drop.name = dataUnit.name;
            drop.icon = UICommon.UNIT_SMALL_PATH_PREFIX + drop.id;
        }
        break;

        case (int)DataConfig.DATA_TYPE.UnitPart:
        {
            DataUnitPart dataUnitPart = DataManager.instance.dataUnitPartGroup.GetPart(drop.id, 1);
            drop.name = dataUnitPart.name;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Item:
        {
            DataItem dataItem = DataManager.instance.dataItemGroup.GetItem(drop.id);
            drop.name = dataItem.name;
            drop.icon = UICommon.ITEM_PATH_PREFIX + drop.id;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Hero:
        {
            DataHero dataHero = DataManager.instance.dataHeroGroup.GetHeroPrimitive(drop.id);
            drop.name = dataHero.name;
            drop.icon = UICommon.HERO_SMALL_PATH_PREFIX + drop.id;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Combat:
        {
            drop.name = DataConfig.GetDataTypeName(DataConfig.DATA_TYPE.Combat);
            drop.icon = UICommon.DROP_ITEM_PATH_PREFIX + (int)drop.type;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Honor:
        {
            drop.name = DataConfig.GetDataTypeName(DataConfig.DATA_TYPE.Honor);
            drop.icon = UICommon.DROP_ITEM_PATH_PREFIX + (int)drop.type;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Food:
        {
            drop.name = DataConfig.GetDataTypeName(DataConfig.DATA_TYPE.Food);
            drop.icon = UICommon.DROP_ITEM_PATH_PREFIX + (int)drop.type;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Oil:
        {
            drop.name = DataConfig.GetDataTypeName(DataConfig.DATA_TYPE.Oil);
            drop.icon = UICommon.DROP_ITEM_PATH_PREFIX + (int)drop.type;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Metal:
        {
            drop.name = DataConfig.GetDataTypeName(DataConfig.DATA_TYPE.Metal);
            drop.icon = UICommon.DROP_ITEM_PATH_PREFIX + (int)drop.type;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Rare:
        {
            drop.name = DataConfig.GetDataTypeName(DataConfig.DATA_TYPE.Rare);
            drop.icon = UICommon.DROP_ITEM_PATH_PREFIX + (int)drop.type;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Cash:
        {
            drop.name = DataConfig.GetDataTypeName(DataConfig.DATA_TYPE.Cash);
            drop.icon = UICommon.DROP_ITEM_PATH_PREFIX + (int)drop.type;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Exp:
        {
            drop.name = DataConfig.GetDataTypeName(DataConfig.DATA_TYPE.Exp);
            drop.icon = UICommon.DROP_ITEM_PATH_PREFIX + (int)drop.type;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Energy:
        {
            drop.name = DataConfig.GetDataTypeName(DataConfig.DATA_TYPE.Energy);
            drop.icon = UICommon.DROP_ITEM_PATH_PREFIX + (int)drop.type;
        }
        break;

        case (int)DataConfig.DATA_TYPE.Building:
            break;

        case (int)DataConfig.DATA_TYPE.Mission:
            break;

        case (int)DataConfig.DATA_TYPE.Battle:
            break;

        case (int)DataConfig.DATA_TYPE.DropGroup:
            break;

        case (int)DataConfig.DATA_TYPE.Equipment:
            break;
        }

        return(drop);
    }
示例#24
0
    private string GetDescription(string descript)
    {
        switch (command)
        {
        case "CommanderLv":         //指挥官提升到N级
        {
            descript = StringHelper.GenerateCompleteDescription(descript, source);
        }
        break;

        case "PassMission":            //完成系统指定的关卡
        {
            int         magicId     = (int)source;
            DataMission dataMission = DataManager.instance.dataMissionGroup.GetMission(magicId);
            descript = StringHelper.GenerateCompleteDescription(descript, dataMission.name, destination);
        }
        break;

        case "SpecifiedUnitPartLv":            //指定unitpart强化到N级
        {
            int      unitId   = (int)source;
            DataUnit dataUnit = DataManager.instance.dataUnitsGroup.GetUnit(unitId);

            int          partId       = (int)destination;
            DataUnitPart dataUnitPart = DataManager.instance.dataUnitPartGroup.GetPart(partId, 1);

            descript = StringHelper.GenerateCompleteDescription(descript, dataUnit.name, dataUnitPart.name, additional);
        }
        break;

        case "SpecifiedHeroLv":            //指定hero升级到N级
        {
            int      heroId   = (int)source;
            DataHero dataHero = DataManager.instance.dataHeroGroup.GetHeroPrimitive(heroId);

            descript = StringHelper.GenerateCompleteDescription(descript, dataHero.name, destination);
        }
        break;

        case "SpecifiedHeroStage":            //指定hero升衔到N阶
        {
            int      heroId   = (int)source;
            DataHero dataHero = DataManager.instance.dataHeroGroup.GetHeroPrimitive(heroId);

            descript = StringHelper.GenerateCompleteDescription(descript, dataHero.name, destination);
        }
        break;

        case "ConsumeStar":         //获得N颗星星
        {
            descript = StringHelper.GenerateCompleteDescription(descript, source);
        }

        break;

        case "GainUnit":         //获得指定unit
        {
            int      unitId   = (int)source;
            DataUnit dataUnit = DataManager.instance.dataUnitsGroup.GetUnit(unitId);

            descript = StringHelper.GenerateCompleteDescription(descript, dataUnit.name, destination);
        }
        break;

        case "GainHero":         //获得指定hero
        {
            int      heroId   = (int)source;
            DataHero dataHero = DataManager.instance.dataHeroGroup.GetHeroPrimitive(heroId);

            descript = StringHelper.GenerateCompleteDescription(descript, dataHero.name);
        }
        break;

        case "ArenaRankings":         //在竞技场达到指定排名
        {
            descript = StringHelper.GenerateCompleteDescription(descript, source);
        }
        break;

        case "BuildingLv":         //相应建筑提升到N级
        {
            int          buildingId   = (int)source;
            DataBuilding dataBuilding = DataManager.instance.dataBuildingGroup.GetBuilding(buildingId, 1);

            descript = StringHelper.GenerateCompleteDescription(descript, dataBuilding.name, destination);
        }
        break;
        }

        return(descript);
    }
 public void SaveData(DataHero data)
 {
     this.data = data;
     SaveIO.SaveData(this.data, "DataHero");
 }
 public void SaveData(DataHero data)
 {
     this.data = data;
     PlayerPrefs.SetString("DataHero", JsonUtility.ToJson(data));
 }
 public void LoadData()
 {
     data = SaveIO.LoadData("DataHero");
 }