Beispiel #1
0
    /// <summary>
    /// 信息赋值
    /// </summary>
    /// <param name="obj"></param>
    public override void Info(object obj)
    {
        heroData = (HeroData)obj;
        heroVo   = FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList[heroData.id];

        nameLabel.text  = heroVo.name;
        levelLabel.text = "Lv." + heroData.lvl;
        icon.spriteName = heroVo.original_painting;
        for (int i = 0; i < 5; i++)
        {
            startList[i].spriteName = i < heroData.star ? "xingxing" : "xing-hui";
        }
        expSlider.value = (1f) * heroData.exps / heroData.maxExps;
        expLabel.text   = heroData.exps + "/" + heroData.maxExps;
    }
Beispiel #2
0
    int expDiffe;//经验差值

    #endregion

    /// <summary>
    /// item初始化函数
    /// </summary>
    protected override void InitItem()
    {
        hd_ins = UI_HeroDetail.instance;
        //初始化
        mailBtn = transform.Find("MailBtn").GetComponent <UIButton>();

        UIEventListener.Get(mailBtn.gameObject).onClick += OnBtnClick;
        UIEventListener.Get(mailBtn.gameObject).onPress += OnPressBtnClick;

        count = transform.Find("Count").GetComponent <UILabel>();

        hd         = playerData.GetInstance().GetHeroDataByID(Globe.selectHero.hero_id);
        hero       = hd.node;
        playerNode = FSDataNodeTable <PlayerLevelUpNode> .GetSingleton().FindDataByType(playerData.GetInstance().selfData.level);
    }
Beispiel #3
0
 private void AddItemToLinklist(int x, int y, int value)
 {
     if (MapCollect.ContainsKey(value))
     {
         HeroNode heroNode = new HeroNode(x, y);
         MapCollect[value].AddLast(heroNode);
     }
     else
     {
         HeroNode heroNode = new HeroNode(x, y);
         LinkedList <HeroNode> tempHeroNodes = new LinkedList <HeroNode>();
         tempHeroNodes.AddLast(heroNode);
         MapCollect.Add(value, tempHeroNodes);
         CountCollect.Add(value, 0);
     }
 }
Beispiel #4
0
    protected override void ShowHandler()
    {
        base.ShowHandler();
        InitTitleData();
        checkBoxs.DefauleIndex = 0;
        OnTitleClick(0, true);

        firstPlayerTitleID = playerData.GetInstance().selfData.playerTitleId;
        if (FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList.ContainsKey(GameLibrary.player))
        {
            HeroNode heroNode = FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList[GameLibrary.player];

            InsHero(heroNode);
        }
        SetPlayerTitleName(playerData.GetInstance().selfData.playerTitleName);
        SetTitleAttribute(playerData.GetInstance().selfData.playerTitleId);
    }
Beispiel #5
0
        //遍历栈
        public void ShowList()
        {
            if (IsEmpty())
            {
                Console.WriteLine("栈空");
            }
            HeroNode         temp      = stack.Head;
            Stack <HeroNode> heroNodes = new Stack <HeroNode>();

            while (temp.Next != null)
            {
                temp = temp.Next;
                heroNodes.Push(temp);
            }
            for (int i = 0; i < top; i++)
            {
                Console.WriteLine(heroNodes.Pop().ToString());
            }
        }
Beispiel #6
0
        //出栈
        public HeroNode Pop()
        {
            if (IsEmpty())
            {
                Console.WriteLine("栈空");
                throw new Exception();
            }
            HeroNode value = stack.Head;

            while (value.Next != null)
            {
                value = value.Next;
            }
            HeroNode heroNode = value;

            stack.Delete(value);

            return(heroNode);
        }
Beispiel #7
0
    /// <summary>
    /// 信息赋值
    /// </summary>
    /// <param name="obj"></param>
    public override void Info(object obj)
    {
        heroNode = (HeroNode)obj;
        hd       = playerData.GetInstance().GetHeroDataByID(heroNode.hero_id);
        if (!Globe.allHeroDic.ContainsKey(heroNode.hero_id))
        {
            Globe.allHeroDic.Add(heroNode.hero_id, heroNode);
        }
        for (int i = 0; i < playerData.GetInstance().herodataList.Count; i++)
        {
            if (heroNode.hero_id == playerData.GetInstance().herodataList[i].id)
            {
                heroNode.isHas = true;
            }
        }

        for (int i = 0; i < start.Length; i++)
        {
            if (i < hd.star)
            {
                //start[i].spriteName = "xing";// : "xing-hui";
                start[i].gameObject.SetActive(true);
            }
            else
            {
                //start[i].spriteName = "xing-hui";
                start[i].gameObject.SetActive(false);
            }
        }

        border.spriteName = UISign_in.GetHeroGradeName(hd.grade);
        levelLabel.text   = !heroNode.isHas ? "" : hd.lvl + "级";
        //  nameLabel.text = heroNode.name;
        icon.spriteName = heroNode.icon_name;


        // ShowType(heroNode.attribute);

        // Globe.isC = true;
    }
Beispiel #8
0
    public override void parseJson(object jd)
    {
        base.parseJson(jd);
        id         = long.Parse(item["hero_id"].ToString());
        break_gold = int.Parse(item["break_gold"].ToString());

        if (FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList.ContainsKey(id))
        {
            heroNode = FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList[id];

            icon_name = heroNode.icon_name;
            model     = heroNode.model;
            modelNode = FSDataNodeTable <ModelNode> .GetSingleton().FindDataByType(model);

            skill_id = heroNode.skill_id;
            skills   = new SkillNode[skill_id.Length];
            for (int i = 0; i < skills.Length; i++)
            {
                skills[i] = FSDataNodeTable <SkillNode> .GetSingleton().DataNodeList[skill_id[i]];

                if (skills[i].site != 0)
                {
                    skillNodeDict.Add(skills[i].site, skills[i]);
                }
            }

            grade      = int.Parse(item["grade"].ToString());
            next_grade = long.Parse(item["next_grade"].ToString());
            anger      = int.Parse(item["anger"].ToString());
            break_lv   = int.Parse(item["break_lv"].ToString());
            int[] nodelist = (int[])item["equipment"];
            equipment = new double[nodelist.Length];

            for (int m = 0; m < nodelist.Length; m++)
            {
                equipment[m] = nodelist[m];
            }
        }
    }
    public override void ParseJson(object jd)
    {
        base.ParseJson(jd);
        id         = long.Parse(item["hero_id"].ToString());
        break_gold = int.Parse(item["break_gold"].ToString());

        if (FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList.ContainsKey(id))
        {
            heroNode = FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList[id];

            if (heroNode != null && heroNode.released == 1)
            {
                HeroSkinNode skinNode = null;
                if (FSDataNodeTable <HeroSkinNode> .GetSingleton().DataNodeList.ContainsKey(heroNode.skinID[0]))
                {
                    skinNode = FSDataNodeTable <HeroSkinNode> .GetSingleton().FindDataByType(heroNode.skinID[0]);
                }
                if (skinNode != null)
                {
                    icon_name = skinNode.iconName;
                    model     = skinNode.modelId;
                    modelNode = skinNode.modelNode;
                }
                skill_id = heroNode.skill_id;
                skills   = new SkillNode[skill_id.Length];
                for (int i = 0; i < skills.Length; i++)
                {
                    if (FSDataNodeTable <SkillNode> .GetSingleton().DataNodeList.ContainsKey(skill_id[i]))
                    {
                        skills[i] = FSDataNodeTable <SkillNode> .GetSingleton().DataNodeList[skill_id[i]];

                        if (skills[i].site != 0)
                        {
                            skillNodeDict.Add(skills[i].site, skills[i]);
                        }
                    }
                    else
                    {
                        GameDebug.LogError("策划好好看看技能表" + skill_id[i]);
                    }
                }
                skill1_id = heroNode.skill1_id;

                grade      = int.Parse(item["grade"].ToString());
                next_grade = long.Parse(item["next_grade"].ToString());
                break_lv   = int.Parse(item["break_lv"].ToString());

                #region 英雄突破所需材料

                if (item.ContainsKey("break_item"))
                {
                    object[] breakMaterial = (object[])item["break_item"];
                    material = new long[breakMaterial.Length, 2];
                    if (breakMaterial.Length > 0)
                    {
                        for (int i = 0; i < breakMaterial.Length; i++)
                        {
                            int[] node = breakMaterial[i] as int[];
                            if (node != null)
                            {
                                for (int j = 0; j < node.Length; j++)
                                {
                                    material[i, j] = node[j];
                                }
                            }
                        }
                    }
                }
            }


            #endregion
        }
    }
Beispiel #10
0
    /// <summary>
    /// 信息赋值
    /// </summary>
    /// <param name="obj"></param>
    public override void Info(object obj)
    {
        heroVO = (HeroNode)obj;

        if (!Globe.allHeroDic.ContainsKey(heroVO.hero_id))
        {
            Globe.allHeroDic.Add(heroVO.hero_id, heroVO);
        }

        //for (int i = 0; i < playerData.GetInstance().heroList.Count; i++)
        //{
        //    if (heroVO.hero_id == playerData.GetInstance().heroList[i])
        //    {
        //        heroVO.isHas = true;
        //    }
        //}

        //if (heroVO.isHas == false)
        //{
        //    levelLabel.text = "Lv.1";
        //    nameLabel.text = heroVO.name;
        //    icon.spriteName = heroVO.original_painting;
        //    suo.enabled = true;
        //    souStoneL.enabled = true;

        //    starUpVO = VOManager.Instance().GetCSV<StarUpgradeCSV>("StarUpgrade").GetVO(1);


        //    //获取背包中的魂石
        //    HeroEmbattleItem = playerData.GetInstance().GetItemDatatByID(heroVO.soul_gem);

        //    if (null == HeroEmbattleItem)
        //    {
        //        currentSoul = 0;
        //    }
        //    else
        //    {
        //        currentSoul = HeroEmbattleItem.numb;
        //    }

        //    //当前拥有魂石数和需要魂石数
        //    souStoneL.text = "[3BE6FFFF]" + currentSoul + "[-]/" + starUpVO.call_stone_num;

        //    if (currentSoul >= starUpVO.call_stone_num)
        //    {
        //        summonBtn.gameObject.SetActive(true);
        //        //summonBtn.transform.FindComponent<UILabel>("Glod").text = "" + starUpVO.evolve_cost;
        //        //if (!herolist.summonList.Contains(heroVO.hero_id))
        //        //{
        //        //    herolist.summonList.Add(heroVO.hero_id);
        //        //}
        //    }

        //}
        //else
        //{

        //playerData.GetInstance().heroDic.TryGetValue(heroVO.hero_id, out hd);

        ////获取英雄信息
        //hd = playerData.GetInstance().GetHeroDataByID(heroVO.hero_id);

        for (int i = 0; i < heroVO.init_star; i++)
        {
            startList[i].spriteName = "xingxing";
        }

        //UpdateBorder();

        levelLabel.text = "Lv." + 1;

        nameLabel.text = heroVO.name;

        mask.enabled = false;

        icon.spriteName = heroVO.original_painting;         //原画

        isUpdate = true;

        ShowType(heroVO.attribute);

        Globe.isC = true;
    }
Beispiel #11
0
 /// <summary>
 /// 实例化英雄展示模型
 /// </summary>
 public void InsHero(HeroNode insHero)
 {
     heroObj = HeroPosEmbattle.instance.CreatModel(insHero.icon_name + "_show", PosType.TitlePos, transform.Find("HeroTexture").GetComponent <SpinWithMouse>());
 }
Beispiel #12
0
 /// <summary>
 /// 显示面板
 /// </summary>
 public void ShowGetHeroPanel(HeroNode hero)
 {
     this.hero = hero;
     gameObject.SetActive(true);
 }
Beispiel #13
0
    private bool FriendsRecommendResult(CReadPacket packet)
    {
        Debug.Log(" FriendsRecommendResult  推荐好友");
        Dictionary <string, object> data = packet.data;

        int result = int.Parse(data["ret"].ToString());

        if (result == 0)
        {
            if (data.ContainsKey("item"))
            {
                playerData.GetInstance().friendListData.RecommendfriendList.Clear();
                if (null != data["item"] as object[])
                {
                    object[] goodList = data["item"] as object[];
                    for (int i = 0; i < goodList.Length; i++)
                    {
                        Dictionary <string, object> goodInfo = (Dictionary <string, object>)goodList[i];
                        FriendData info = new FriendData();
                        if (goodInfo.ContainsKey("nm"))
                        {
                            info.Name = goodInfo["nm"].ToString();
                        }
                        if (goodInfo.ContainsKey("id"))
                        {
                            info.PlayerId = long.Parse(goodInfo["id"].ToString());
                        }
                        if (goodInfo.ContainsKey("aid"))
                        {
                            info.AcountPlayerId = long.Parse(goodInfo["aid"].ToString());
                        }
                        if (goodInfo.ContainsKey("ptf"))
                        {
                            if (null != FSDataNodeTable <RoleIconAttrNode> .GetSingleton().FindDataByType(int.Parse(goodInfo["ptf"].ToString())))
                            {
                                RoleIconAttrNode vo = FSDataNodeTable <RoleIconAttrNode> .GetSingleton().FindDataByType(int.Parse(goodInfo["ptf"].ToString()));

                                info.PlayerFrame = vo.icon_name;
                            }
                        }
                        if (goodInfo.ContainsKey("lv"))
                        {
                            info.Level = int.Parse(goodInfo["lv"].ToString());
                        }
                        if (goodInfo.ContainsKey("hlv"))
                        {
                            info.HeroLevel = int.Parse(goodInfo["hlv"].ToString());
                        }
                        if (goodInfo.ContainsKey("pt"))
                        {
                            if (null != FSDataNodeTable <HeroNode> .GetSingleton().FindDataByType(int.Parse(goodInfo["pt"].ToString())))
                            {
                                HeroNode vo = FSDataNodeTable <HeroNode> .GetSingleton().FindDataByType(int.Parse(goodInfo["pt"].ToString()));

                                info.PlayerIcon = vo.icon_name + "_head";
                            }
                        }
                        if (goodInfo.ContainsKey("afc"))
                        {
                            info.Fighting = int.Parse(goodInfo["afc"].ToString());
                        }
                        if (goodInfo.ContainsKey("tl"))
                        {
                            if (0 != int.Parse(goodInfo["tl"].ToString()))
                            {
                                if (null != FSDataNodeTable <TitleNode> .GetSingleton().FindDataByType(int.Parse(goodInfo["tl"].ToString())))
                                {
                                    TitleNode vo = FSDataNodeTable <TitleNode> .GetSingleton().FindDataByType(int.Parse(goodInfo["tl"].ToString()));

                                    info.Title = vo.titlename;
                                }
                            }
                            else
                            {
                                info.Title = "称号:无";
                            }
                        }
                        playerData.GetInstance().friendListData.RecommendfriendList.Add(info);
                    }
                    if (playerData.GetInstance().friendListData.RecommendfriendList.Count > 0)
                    {
                        List <FriendData> itemLt = new List <FriendData>();
                        playerData.GetInstance().friendListData.RecommendfriendList.Sort((a, b) => b.Fighting - a.Fighting);
                        FriendData temp = null;
                        for (int i = 0; i < playerData.GetInstance().friendListData.RecommendfriendList.Count; i++)
                        {
                            for (int j = i + 1; j < playerData.GetInstance().friendListData.RecommendfriendList.Count; j++)
                            {
                                if (playerData.GetInstance().friendListData.RecommendfriendList[j].Fighting == playerData.GetInstance().friendListData.RecommendfriendList[i].Fighting && playerData.GetInstance().friendListData.RecommendfriendList[j].Level > playerData.GetInstance().friendListData.RecommendfriendList[i].Level)
                                {
                                    temp = playerData.GetInstance().friendListData.RecommendfriendList[j];
                                    playerData.GetInstance().friendListData.RecommendfriendList[j] = playerData.GetInstance().friendListData.RecommendfriendList[i];
                                    playerData.GetInstance().friendListData.RecommendfriendList[i] = temp;
                                }
                            }
                        }
                    }
                }
            }
            return(true);
        }
        else
        {
            Control.ShowGUI(UIPanleID.UITooltips, EnumOpenUIType.DefaultUIOrSecond, false, data["desc"].ToString());
            return(false);
        }
    }
Beispiel #14
0
    /// <summary>
    /// 信息赋值
    /// </summary>
    /// <param name="obj"></param>
    public override void Info(object obj)
    {
        heroNode = (HeroNode)obj;
        hd       = playerData.GetInstance().GetHeroDataByID(heroNode.hero_id);
        if (!Globe.allHeroDic.ContainsKey(heroNode.hero_id))
        {
            Globe.allHeroDic.Add(heroNode.hero_id, heroNode);
        }
        for (int i = 0; i < playerData.GetInstance().herodataList.Count; i++)
        {
            if (heroNode.hero_id == playerData.GetInstance().herodataList[i].id)
            {
                heroNode.isHas = true;
            }
        }

        //获取背包中的魂石
        item        = playerData.GetInstance().GetItemDatatByID(heroNode.soul_gem);
        currentSoul = null == item ? 0 : item.Count;

        if (heroNode.isHas == false)
        {
            icon.GetComponent <UISprite>().color = new Color(0, 0, 0);
            //icon.enabled = false;
            suo.enabled  = true;
            mask.enabled = true;
            mask.GetComponent <BoxCollider>().enabled = false;
            mask.alpha = 0.1f;
            for (int i = 0; i < startList.Count; i++)
            {
                startList[i].spriteName = i < heroNode.init_star ? "xing" : "xing-hui";
            }
            starUpNode = FSDataNodeTable <StarUpGradeNode> .GetSingleton().FindDataByType(heroNode.init_star);

            if (currentSoul >= starUpNode.call_stone_num)
            {
                summonBtn.gameObject.SetActive(true);
            }
            souStoneL.text = "[3BE6FFFF]" + currentSoul + "[-]/" + starUpNode.call_stone_num;
        }
        else
        {
            mask.enabled = false;
            int star = hd.star + 1;
            if (star > 5)
            {
                star = 5;
            }
            starUpNode = FSDataNodeTable <StarUpGradeNode> .GetSingleton().FindDataByType(star);

            for (int i = 0; i < 5; i++)
            {
                startList[i].spriteName = i < hd.star ? "xing" : "xing-hui";
            }
            icon.GetComponent <UISprite>().color = new Color(1, 1, 1);
            icon.enabled   = true;
            souStoneL.text = "[3BE6FFFF]" + currentSoul + "[-]/" + starUpNode.evolve_stone_num;
        }
        if (hd != null)
        {
            border.spriteName = GoodsDataOperation.GetInstance().GetHeroGrameByHeroGrade(hd.grade);
        }
        else
        {
            border.spriteName = "baikuang";
        }
        levelLabel.text = !heroNode.isHas ? "" : hd.lvl + "级";
        nameLabel.text  = heroNode.name;
        icon.spriteName = heroNode.original_painting;


        ShowType(heroNode.attribute);

        Globe.isC = true;
    }
Beispiel #15
0
    /// <summary>
    /// 英雄列表数据显示
    /// </summary>
    /// <param name="allHero"></param>
    void InitHeroList(object[] allHero)
    {
        for (int i = 0; i < tabList.Count; i++)
        {
            tabList[i].SetActive(true);
        }

        int powerIndex        = 0;
        int agileIndex        = 0;
        int intelligenceIndex = 0;


        //取出所有的英雄
        for (int i = 0; i < allHero.Length; i++)
        {
            //HeroNode hn = (HeroNode)allHero[i];

            switch (((HeroNode)allHero[i]).attribute)
            {
            case 1:
                powerIndex++;
                break;

            case 2:
                agileIndex++;
                break;

            case 3:
                intelligenceIndex++;
                break;

            default:
                break;
            }
        }

        object[] powerObj        = new object[powerIndex];
        object[] agileObj        = new object[agileIndex];
        object[] intelligenceObj = new object[intelligenceIndex];

        int powerI        = 0;
        int agileI        = 0;
        int intelligenceI = 0;

        for (int i = 0; i < allHero.Length; i++)
        {
            HeroNode heroVOo = (HeroNode)allHero[i];

            switch (heroVOo.attribute)
            {
            case 1:
                powerObj[powerI] = allHero[i];
                powerI++;
                break;

            case 2:
                agileObj[agileI] = allHero[i];
                agileI++;
                break;

            case 3:
                intelligenceObj[intelligenceI] = allHero[i];
                intelligenceI++;
                break;

            default:
                break;
            }
        }

        //全部英雄
        allofMultList.InSize(allHero.Length, 5);
        allofMultList.Info(allHero);
        allofMultList.ScrollView = heroListScrollView;
        //力量
        powerMultList.InSize(powerObj.Length, 5);
        powerMultList.Info(powerObj);
        powerMultList.ScrollView = heroListScrollView;
        //敏捷
        agileMultList.InSize(agileObj.Length, 5);
        agileMultList.Info(agileObj);
        agileMultList.ScrollView = heroListScrollView;
        //智力
        intelligenceMultList.InSize(intelligenceObj.Length, 5);
        intelligenceMultList.Info(intelligenceObj);
        intelligenceMultList.ScrollView = heroListScrollView;
        for (int i = 0; i < tabList.Count; i++)
        {
            if (i == chooseIndex)
            {
                tabList[i].SetActive(true);
            }
            else
            {
                tabList[i].SetActive(false);
            }
        }
    }
Beispiel #16
0
        public override void PresentStep(int switchIndex, PresentationViewController presentationViewController)
        {
            switch (switchIndex)
            {
            case 0:
                // Set the slide's title and subtitle and add some text
                TextManager.SetTitle("Core Image");
                TextManager.SetSubtitle("CI Filters");

                TextManager.AddBulletAtLevel("Screen-space effects", 0);
                TextManager.AddBulletAtLevel("Applies to a node hierarchy", 0);
                TextManager.AddBulletAtLevel("Filter parameters are animatable", 0);
                TextManager.AddCode("#aNode.#Filters# = new CIFilter[] { filter1, filter2 };#");
                break;

            case 1:
                SCNTransaction.Begin();
                SCNTransaction.AnimationDuration = 1.0f;
                // Dim the text and move back a little
                TextManager.TextNode.Opacity = 0.0f;
                presentationViewController.CameraHandle.Position = presentationViewController.CameraNode.ConvertPositionToNode(new SCNVector3(0, 0, 5.0f), presentationViewController.CameraHandle.ParentNode);
                SCNTransaction.Commit();

                // Reveal the grid
                GroupNode.Opacity = 1;
                break;

            case 2:
                SCNTransaction.Begin();
                SCNTransaction.AnimationDuration = 1;
                // Highlight an item
                HighlightContact(13, presentationViewController);
                SCNTransaction.Commit();
                break;

            case 3:
                var index   = 13;
                var subStep = 0;

                // Successively select items
                for (var i = 0; i < 5; ++i)
                {
                    var popTime = new DispatchTime(DispatchTime.Now, (long)(i * 0.2 * Utils.NSEC_PER_SEC));
                    DispatchQueue.MainQueue.DispatchAfter(popTime, () => {
                        SCNTransaction.Begin();
                        SCNTransaction.AnimationDuration = 0.2f;
                        UnhighlightContact(index);

                        if (subStep++ == 3)
                        {
                            index += ColumnCount;
                        }
                        else
                        {
                            index++;
                        }

                        HighlightContact(index, presentationViewController);
                        SCNTransaction.Commit();
                    });
                }
                break;

            case 4:
                // BLUR+DESATURATE in the background, GLOW in the foreground

                // Here we will change the node hierarchy in order to group all the nodes in the background under a single node.
                // This way we can use a single Core Image filter and apply it on the whole grid, and have another CI filter for the node in the foreground.

                var selectionParent = HeroNode.ParentNode;

                SCNTransaction.Begin();
                SCNTransaction.AnimationDuration = 0;
                // Stop the animations of the selected node
                HeroNode.Transform = HeroNode.PresentationNode.Transform;                 // set the current rotation to the current presentation value
                HeroNode.RemoveAllAnimations();

                // Re-parent the node by preserving its world tranform
                var wantedWorldTransform = selectionParent.WorldTransform;
                GroupNode.ParentNode.AddChildNode(selectionParent);
                selectionParent.Transform = selectionParent.ParentNode.ConvertTransformFromNode(wantedWorldTransform, null);
                SCNTransaction.Commit();

                // Add CIFilters

                SCNTransaction.Begin();
                SCNTransaction.AnimationDuration = 1;
                // A negative 'centerX' value means no scaling.
                //TODO HeroNode.Filters [0].SetValueForKey (new NSNumber (-1), new NSString ("centerX"));

                // Move the selection to the foreground
                selectionParent.Rotation = new SCNVector4(0, 1, 0, 0);
                HeroNode.Transform       = ContentNode.ConvertTransformToNode(SCNMatrix4.CreateTranslation(0, Altitude, 29), selectionParent);
                HeroNode.Scale           = new SCNVector3(1, 1, 1);
                HeroNode.Rotation        = new SCNVector4(1, 0, 0, -(float)(Math.PI / 4) * 0.25f);

                // Upon completion, rotate the selection forever
                SCNTransaction.SetCompletionBlock(() => {
                    var animation            = CABasicAnimation.FromKeyPath("rotation");
                    animation.Duration       = 4.0f;
                    animation.From           = NSValue.FromVector(new SCNVector4(0, 1, 0, 0));
                    animation.To             = NSValue.FromVector(new SCNVector4(0, 1, 0, NMath.PI * 2));
                    animation.TimingFunction = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseInEaseOut);
                    animation.RepeatCount    = float.MaxValue;

                    HeroNode.ChildNodes [0].AddAnimation(animation, new NSString("heroNodeAnimation"));
                });

                // Add the filters
                var blurFilter = CIFilter.FromName("CIGaussianBlur");
                blurFilter.SetDefaults();
                blurFilter.Name = "blur";
                blurFilter.SetValueForKey(new NSNumber(0), CIFilterInputKey.Radius);

                var desaturateFilter = CIFilter.FromName("CIColorControls");
                desaturateFilter.SetDefaults();
                desaturateFilter.Name = "desaturate";
                GroupNode.Filters     = new CIFilter[] { blurFilter, desaturateFilter };
                SCNTransaction.Commit();

                // Increate the blur radius and desaturate progressively
                SCNTransaction.Begin();
                SCNTransaction.AnimationDuration = 2;
                GroupNode.SetValueForKey(new NSNumber(10), new NSString("filters.blur.inputRadius"));
                GroupNode.SetValueForKey(new NSNumber(0.1), new NSString("filters.desaturate.inputSaturation"));
                SCNTransaction.Commit();

                break;
            }
        }
Beispiel #17
0
    /// <summary>
    /// 读取英雄数据
    /// </summary>
    public void InitListData()
    {
        herodataList.Clear();
        //获取玩家拥有的英雄列表
        foreach (HeroData data in playerData.GetInstance().herodataList)
        {
            herodataList.Add(data);
        }
        obj = herodataList.ToArray();
        for (int i = 0; i < tabList.Count; i++)
        {
            tabList[i].SetActive(true);
        }
        HeroNode heroNode;

        int powerIndex        = 0;
        int agileIndex        = 0;
        int intelligenceIndex = 0;

        for (int i = 0; i < herodataList.Count; i++)
        {
            //if (playerData.GetInstance().herodataList[i] == null)
            //{
            //    continue;
            //}
            //heroNode = VOManager.Instance().GetCSV<HeroCSV>("Hero").GetVO(herodataList[i].id);
            heroNode = FSDataNodeTable <HeroNode> .GetSingleton().FindDataByType((int)herodataList[i].id);

            switch (heroNode.attribute)
            {
            case 1:
                powerIndex++;
                break;

            case 2:
                agileIndex++;
                break;

            case 3:
                intelligenceIndex++;
                break;

            default:
                break;
            }
        }

        //object[] powerObj = new object[powerIndex];
        //object[] agileObj = new object[agileIndex];
        //object[] intelligenceObj = new object[intelligenceIndex];
        powerObjs        = new object[powerIndex];
        agileObjs        = new object[agileIndex];
        intelligenceObjs = new object[intelligenceIndex];

        int powerI        = 0;
        int agileI        = 0;
        int intelligenceI = 0;

        for (int i = 0; i < obj.Length; i++)
        {
            //if (obj == null)
            //{
            //    continue;
            //}

            HeroNode heroNodeo = FSDataNodeTable <HeroNode> .GetSingleton().FindDataByType((int)((HeroData)obj[i]).id);

            switch (heroNodeo.attribute)
            {
            case 1:
                powerObjs[powerI] = obj[i];
                powerI++;
                break;

            case 2:
                agileObjs[agileI] = obj[i];
                agileI++;
                break;

            case 3:
                intelligenceObjs[intelligenceI] = obj[i];
                intelligenceI++;
                break;

            default:
                break;
            }
        }
        ////obj = new object[14];
        ////全部英雄
        ////allofMultList.ScrollView = heroListSV;
        //allofMultList.InSize(obj.Length, 5);
        //allofMultList.Info(obj);

        ////力量
        ////powerMultList.ScrollView = heroListSV;
        //powerMultList.InSize(powerIndex, 5);
        //powerMultList.Info(powerObj);

        ////敏捷
        ////agileMultList.ScrollView = heroListSV;
        //agileMultList.InSize(agileIndex, 5);
        //agileMultList.Info(agileObj);

        ////智力
        ////intelligenceMultList.ScrollView = heroListSV;
        //intelligenceMultList.InSize(intelligenceIndex, 5);
        //intelligenceMultList.Info(intelligenceObj);

        for (int i = 0; i < tabList.Count; i++)
        {
            tabList[i].SetActive(false);
            //if (i == currentLab) tabList[i].SetActive(true);
            //else tabList[i].SetActive(false);
        }
    }