12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import { _decorator, Component, Node } from "cc";
- import BaseUI from "../../scripts/base/BaseUI";
- import { RichText } from "cc";
- import UserM, { AnnouncementInfo } from "../../scripts/api/UserM";
- import { Hall } from "../hall/Hall";
- import ConfigM from "../../scripts/api/ConfigM";
- const { ccclass, property } = _decorator;
- @ccclass("NoticeLayer")
- export class NoticeLayer extends BaseUI {
- static async show(announcement: AnnouncementInfo) {
- if (
- !announcement ||
- announcement.message == null ||
- announcement.message == ""
- ) {
- return;
- }
- let layer = await Hall.ins.showLayer("prefab/layer/NoticeLayer");
- layer.getComponent(NoticeLayer).init(announcement);
- }
- private announcement: AnnouncementInfo;
- init(announcement: AnnouncementInfo) {
- this.announcement = announcement;
- this.FindAs("text_content", RichText).string = announcement.message;
- }
- protected onLoad(): void {
- super.onLoad();
- }
- protected simpleOnBtnClick(name: string): void {
- switch (name) {
- case "btn_chat":
- if (this.announcement.chatLink) {
- ConfigM.ins.openLink(this.announcement.chatLink);
- }
- break;
- case "btn_notice":
- if (this.announcement.noticeLink) {
- ConfigM.ins.openLink(this.announcement.noticeLink);
- }
- break;
- }
- }
- }
|