using Snxxz.UI; using System; using System.Collections.Generic; using System.Text; using TableConfig; using UnityEngine; public class RichNormalEvent : TRichTextEvent { public RichNormalEvent() { RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.APPLYFAIRY, this); RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.INVITE, this); RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.OPENUI, this); RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.TIP, this); RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.GetWay, this); } public override bool Execute(RichTextEventEnum type, RichTextMgr.HrefInfo href) { switch (type) { case RichTextEventEnum.APPLYFAIRY: { uint id = 0; if (uint.TryParse(href.mSplits["applyfairy"], out id)) { ModelCenter.Instance.GetModel().SendApplyFairy(id); return true; } } break; case RichTextEventEnum.INVITE: { uint id = 0; if (uint.TryParse(href.mSplits["invite"], out id)) { var teamModel = ModelCenter.Instance.GetModel(); if (teamModel.myTeam.GetIndexOfMember((int)id) != -1) { SysNotifyMgr.Instance.ShowTip("AlreadyInTeam"); return false; } if (teamModel.myTeam.inTeam) { ConfirmCancel.ShowPopConfirm( "", Language.Get("PlayerJoinTeam_1"), (bool _ok) => { if (_ok) { teamModel.RequestExitTeam(); teamModel.RequestApplyForJoin((int)id); } } ); } else { teamModel.RequestApplyForJoin((int)id); } } } break; case RichTextEventEnum.OPENUI: { int id = 0; if (int.TryParse(href.mSplits["openui"], out id)) { WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)id); } } break; case RichTextEventEnum.TIP: { var _key = href.mSplits["tip"]; SysNotifyMgr.Instance.ShowTip(_key); } break; case RichTextEventEnum.GetWay: { int _id = 0; int.TryParse(href.mSplits["getway"], out _id); ModelCenter.Instance.GetModel().SetChinItemModel(_id, 0, true); if (!WindowCenter.Instance.CheckOpen()) { WindowCenter.Instance.Open(); } } break; } return false; } public override string GetDisplay(RichTextEventEnum type, Dictionary dic) { return string.Empty; } }