IEnumerator EmutiWait(PeEvent.EventArg arg) { if (PeGameMgr.IsMulti && NetworkInterface.IsClient && arg is Pathea.PeLauncher.LoadFinishedArg) { while (Entity == null || PeCreature.Instance == null || null == Entity.biologyViewCmpt || null == Entity.biologyViewCmpt.biologyViewRoot || null == Entity.biologyViewCmpt.biologyViewRoot.modelController) { yield return(null); } // PlayerNetwork.RequestReqMonsterCtrl(Entity.Id); Entity.BehaveCmpt.Stop(); //lz-2017.03.14 传送太远怪物会被重刷,需要重新骑上去 if (null != m_Master && m_Master.Id == PeCreature.Instance.mainPlayerId) { MousePickRides rides = Entity.biologyViewCmpt.biologyViewRoot.modelController.GetComponent <MousePickRides>(); if (rides) { rides.RecoverExecRide(m_Master); } } } yield return(null); }
private void RideMount() { if (Mount && Mount.hasView && Mount.biologyViewCmpt && Mount.biologyViewCmpt.biologyViewRoot && Mount.biologyViewCmpt.biologyViewRoot.modelController && Entity && Entity.operateCmpt) { MousePickRides rides = Mount.biologyViewCmpt.biologyViewRoot.modelController.GetComponent <MousePickRides>(); if (rides) { rides.ExecRide(Entity); } } }
public override void OnDestroy() { base.OnDestroy(); if (PeGameMgr.IsMulti && m_Master != null && PeCreature.Instance != null && Entity.biologyViewCmpt != null && Entity.biologyViewCmpt.biologyViewRoot != null && Entity.biologyViewCmpt.biologyViewRoot.modelController != null ) { if (m_Master.Id == PeCreature.Instance.mainPlayerId) { MousePickRides rides = Entity.biologyViewCmpt.biologyViewRoot.modelController.GetComponent <MousePickRides>(); if (rides != null) { rides.ExecUnRide(m_Master); } } } }
IEnumerator EloadMount(MousePickRides rides) { //lz-2017.02.23 保证有视图和有Ragdoll if (Entity == null || !Entity.hasView || null == Entity.biologyViewCmpt || null == Entity.biologyViewCmpt.monoRagdollCtrlr) { yield return(null); } //lz-2017.02.23 保证在其他事件执行之后 yield return(null); if (rides && rides.ExecRide(m_Master)) { StartPlayerCtrl(m_Master); if (m_Master.mountCmpt) { m_Master.mountCmpt.SetMount(Entity); } } }
public bool RecoverRelationship() { Pathea.PeEntity player = Pathea.EntityMgr.Instance.Get(_playerId); if (player == null) { return(false); } for (int i = 0; i < mMountsDataList.Count; i++) { if (mMountsDataList[i] != null && mMountsDataList[i]._monster != null && mMountsDataList[i]._monster.biologyViewCmpt != null && mMountsDataList[i]._monster.biologyViewCmpt.biologyViewRoot != null && mMountsDataList[i]._monster.biologyViewCmpt.biologyViewRoot.modelController != null) { MousePickRides rides = mMountsDataList[i]._monster.biologyViewCmpt.biologyViewRoot.modelController.GetComponent <MousePickRides>(); if (rides) { mMountsDataList[i]._monster.monstermountCtrl.LoadCtrl(player, rides); return(true); } } } return(false); }
public void LoadCtrl(PeEntity master, MousePickRides peride) { m_Master = master; StartCoroutine(EloadMount(peride)); }