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); } } } }
//上下坐骑 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); }
/// <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); } }