protected override void Start() { base.Start(); Instance = this; InitWidget(); SetRoleInfo(); SetPlayer(CharacterTemplate.Instance.jobId); }
//上下坐骑 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); }
public UIRole() { instance = this; }