Пример #1
0
    public override void Info(object obj)
    {
        if (MountAndPetNodeData.Instance().ShowType)
        {
            if (obj != null)
            {
                mountNode = (UIMountNode)obj;
                //判断是否有坐骑 在没有坐骑的情况下取表里第一个坐骑显示和被选中的状态
                icon.spriteName = mountNode.icon_name;


                // 先判断是否拥有
                //再判断是否使用
                if (MountAndPetNodeData.Instance().IsHaveThisMount(mountNode.mount_id))
                {
                    if (MountAndPetNodeData.Instance().currentMountID != mountNode.mount_id)
                    {
                        black.gameObject.SetActive(false);
                        lockSprite.gameObject.SetActive(false);
                        iconState.gameObject.SetActive(false);
                    }
                    else
                    {
                        black.gameObject.SetActive(false);
                        lockSprite.gameObject.SetActive(false);
                        iconState.gameObject.SetActive(true);
                    }
                }
                else
                {
                    black.gameObject.SetActive(true);
                    lockSprite.gameObject.SetActive(true);
                    iconState.gameObject.SetActive(false);
                }
            }
        }
        else
        {
            if (obj != null)
            {
                petNode = (UIPetNode)obj;
                //判断是否有宠物 在没有宠物的情况下取表里第一个坐骑显示和被选中的状态
                icon.spriteName = petNode.icon_name;
                if (MountAndPetNodeData.Instance().IsHaveThisPet(petNode.pet_id))
                {
                    if (MountAndPetNodeData.Instance().currentPetID != petNode.pet_id)
                    {
                        black.gameObject.SetActive(false);
                        lockSprite.gameObject.SetActive(false);
                        iconState.gameObject.SetActive(false);
                    }
                    else
                    {
                        black.gameObject.SetActive(false);
                        lockSprite.gameObject.SetActive(false);
                        iconState.gameObject.SetActive(true);
                    }
                }
                else
                {
                    black.gameObject.SetActive(true);
                    lockSprite.gameObject.SetActive(true);
                    iconState.gameObject.SetActive(false);
                }
            }
        }
    }
Пример #2
0
    //上下坐骑
    public void Ride(bool b, long mountId = 0, bool showEffect = true)
    {
        if (cs.pm.isRiding == b && mountedId == mountId)
        {
            return;
        }
        if (cs.CharData is HeroData)
        {
            if (!UIRole.CheckCanRide((HeroData)cs.CharData))
            {
                return;
            }
        }
        else
        {
            return;
        }
        isCountRandom = isRiding = b;
        ani.SetBool("isRiding", b);
        if (b)
        {
            // mountId = MountAndPetNodeData.Instance().goMountID;
            if (mountId <= 0)
            {
                return;
            }
            mountedId = mountId;
            UIMountNode mountNode = FSDataNodeTable <UIMountNode> .GetSingleton().DataNodeList[mountId];

            mount    = Resource.CreatPrefabs(mountNode.icon_name, gameObject, new Vector3(0f, -mountNode.ride_y, 0f), GameLibrary.Mount_URL);
            mountAni = mount.GetComponent <Animator>();
            cs.mShadowTrans.localPosition        = new Vector3(0f, -mountNode.ride_y, 0f);
            cs.mShadowTrans.localScale           = 1.5f * Vector3.one;
            cs.mHitPoint.transform.localPosition = new Vector3(cs.mOriginHitPos.x, cs.mOriginHitPos.y - mountNode.ride_y, cs.mOriginHitPos.z);
            nav.baseOffset = mountNode.ride_y;
            cs.moveSpeed   = mountNode.movement_speed + cs.moveInitSpeed;
            if (showEffect)
            {
                if (mountEffect == null)
                {
                    mountEffect = Resource.CreatPrefabs("ShangMa_01", gameObject, new Vector3(0f, 0f, 0f), "Effect/Prefabs/Item/");
                }
                else
                {
                    BattleUtil.PlayParticleSystems(mountEffect);
                }
            }
            if (cs == CharacterManager.playerCS && ThirdCamera.instance != null)
            {
                ThirdCamera.instance._heightOfSet = 0.18f - mountNode.ride_y;
            }
            if (cs.cc != null)
            {
                cs.cc.center = new Vector3(cs.cc.center.x, 0.3f - mountNode.ride_y, cs.cc.center.z);
            }
        }
        else
        {
            if (cs == CharacterManager.playerCS && ThirdCamera.instance != null)
            {
                ThirdCamera.instance._heightOfSet = 0.18f;
            }
            cs.mShadowTrans.localPosition = Vector3.zero;
            cs.mShadowTrans.localScale    = Vector3.one;
            nav.baseOffset = 0f;
            cs.mHitPoint.transform.localPosition = cs.mOriginHitPos;
            cs.moveSpeed = cs.moveInitSpeed;
            if (mount != null)
            {
                mountedId = 0;
                Destroy(mount.gameObject);
            }
            if (cs.cc != null)
            {
                cs.cc.center = new Vector3(cs.cc.center.x, 0.3f, cs.cc.center.z);
            }
        }
        if (transform.GetComponent <SetMainHeroName>() != null)
        {
            transform.GetComponent <SetMainHeroName>().SetHeadBuffPos(b);
        }
        else if (transform.GetComponent <OtherPlayer>() != null)
        {
            transform.GetComponent <OtherPlayer>().SetHeadBuffPos(b);
        }
        InvokeRepeating("CheckRidingState", Time.fixedDeltaTime, Time.fixedDeltaTime);
    }
Пример #3
0
 /// <summary>
 /// 设置宠物或者坐骑的详细信息
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="type"></param>
 public void SetInfo(object obj, MountAndPet type)
 {
     currentOperation = type;
     if (type == MountAndPet.Mount)
     {
         mountData = (UIMountNode)obj;
         //MountHeroViewItem.Instance().refreshUI(MountAndPetNodeData.Instance().GetHerolist(mountData.mount_types));
         heroList.InSize(MountAndPetNodeData.Instance().GetHerolist(mountData.mount_types).Count, 3);
         heroList.Info(MountAndPetNodeData.Instance().GetHerolist(mountData.mount_types).ToArray());
         morPName.text   = GoodsDataOperation.GetInstance().JointNameColour(mountData.name, GradeType.Purple);;
         des.text        = mountData.describe;
         levellimit.text = mountData.need_lv + "";
         // 先判断是否拥有
         //再判断是否使用
         if (MountAndPetNodeData.Instance().IsHaveThisMount(mountData.mount_id))
         {
             buyBtn.gameObject.SetActive(false);
             getWayLabel.gameObject.SetActive(false);
             if (MountAndPetNodeData.Instance().currentMountID == mountData.mount_id)
             {
                 useBtn.gameObject.SetActive(false);
             }
             else
             {
                 useBtn.gameObject.SetActive(true);
             }
         }
         else
         {
             useBtn.gameObject.SetActive(false);
             buyBtn.gameObject.SetActive(true);
             getWayLabel.gameObject.SetActive(true);
             getWayLabel.text = GetWayDetail(mountData.mount_id);
         }
         InsHero(int.Parse(mountData.model_id), MountAndPet.Mount);
     }
     else if (type == MountAndPet.Pet)
     {
         petData         = (UIPetNode)obj;
         morPName.text   = GoodsDataOperation.GetInstance().JointNameColour(petData.name, GradeType.Purple);;
         des.text        = petData.describe;
         levellimit.text = petData.need_lv + "";
         if (MountAndPetNodeData.Instance().IsHaveThisPet(petData.pet_id))
         {
             buyBtn.gameObject.SetActive(false);
             getWayLabel.gameObject.SetActive(false);
             if (MountAndPetNodeData.Instance().currentPetID == petData.pet_id)
             {
                 useBtn.gameObject.SetActive(false);
             }
             else
             {
                 useBtn.gameObject.SetActive(true);
             }
         }
         else
         {
             useBtn.gameObject.SetActive(false);
             buyBtn.gameObject.SetActive(true);
             getWayLabel.gameObject.SetActive(true);
             getWayLabel.text = GetWayDetail(petData.pet_id);
         }
         InsHero(int.Parse(petData.model_id), MountAndPet.Pet);
     }
 }