void OnClickPlayer(CEventBaseArgs data) { // 破碎死域要屏蔽这个界面 if (SceneHelp.Instance.IgnoreClickPlayer == true) { return; } GameObject selectedObj = (GameObject)data.arg; if (selectedObj != null) { ActorMono actMono = ActorHelper.GetActorMono(selectedObj); if (actMono != null) { Actor actor = actMono.BindActor; if (actor != null && (actor is LocalPlayer) == false && ActorHelper.IsShemale(actor.UID.obj_idx) == false) { Dictionary <string, string> playerInfo = new Dictionary <string, string>(); playerInfo.Clear(); playerInfo.Add("uuid", actor.UID.obj_idx.ToString()); xc.ui.ugui.UIManager.Instance.ShowWindow("UIWatchPlayerWindow", playerInfo); } } } }
public bool TriggerDialog(uint dialogId, System.Action finishedCallback, Transform source) { if (source != null) { ActorMono actMono = ActorHelper.GetActorMono(source); if (actMono != null) { NpcPlayer sourceActor = actMono.BindActor as NpcPlayer; if (sourceActor != null) { sourceActor.TurnToLocalPlayer(); } } } return(TriggerDialog(dialogId, finishedCallback)); }
//-------------------------------------------------------- // 客户端消息 //-------------------------------------------------------- private void OnNpcClicked(CEventBaseArgs args) { if (args == null || args.arg == null) { return; } if (UIInputEvent.TouchedUI() == true) { return; } GameObject npcObject = args.arg as GameObject; if (npcObject == null) { return; } var mono = ActorHelper.GetActorMono(npcObject.gameObject); if (mono == null) { return; } NpcPlayer targetNpc = mono.BindActor as NpcPlayer; if (targetNpc == null) { return; } // 点击npc后已经取消任务的导航了,所以要把导航任务清空 TaskManager.Instance.NavigatingTask = null; //MissionManager.Instance.NotifyMetNpc((uint)targetNpc.NpcData.Id); targetNpc.OnClicked(); }