LaunchManager.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { sys } from "cc";
  2. import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
  3. import { GameEvent } from "../../game/common/config/GameEvent";
  4. // LaunchManager.ts
  5. export class LaunchManager {
  6. private static instance: LaunchManager;
  7. private _fromSide: boolean = false;
  8. /**
  9. * 是否从侧边栏进入
  10. */
  11. get fromSide(): boolean {
  12. return this._fromSide;
  13. }
  14. /**
  15. * 设置侧边开关值
  16. * @param value 开关值
  17. */
  18. set fromSide(value: boolean) {
  19. this._fromSide = value;
  20. }
  21. private constructor() {}
  22. // 获取LaunchManager的单例对象
  23. public static getInstance(): LaunchManager {
  24. if (!LaunchManager.instance) {
  25. LaunchManager.instance = new LaunchManager();
  26. }
  27. return LaunchManager.instance;
  28. }
  29. // 生命周期
  30. onShow() {
  31. if (sys.platform === sys.Platform.BYTEDANCE_MINI_GAME) {
  32. tt.onShow((res) => {
  33. //判断用户是否是从侧边栏进来的
  34. this.fromSide = (res.launch_from == 'homepage' && res.location == 'sidebar_card')
  35. if(this.fromSide)oops.message.dispatchEvent(GameEvent.SideBarEnter)
  36. });
  37. } else {
  38. console.log("Side reward called in unsupported platform");
  39. }
  40. }
  41. }