ShelveBase.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import { _decorator, Component, Node, UITransform, Vec3 } from 'cc';
  2. import { EventType } from '../enum/EventType';
  3. import { EventMgr } from '../manager/EventMgr';
  4. import { Goods } from '../game/Goods';
  5. const { ccclass, property } = _decorator;
  6. @ccclass('ScriptBase/ShelveBase')
  7. export class ShelveBase extends Component {
  8. protected id: number = 0
  9. public get Id(): number {
  10. return this.id
  11. }
  12. protected onLoad(): void {
  13. this.id = this.node.getSiblingIndex()
  14. EventMgr.on(EventType.PlaceGoods, this.onPlaceGoods, this)
  15. }
  16. protected start(): void {
  17. }
  18. protected onDestroy(): void {
  19. this.unscheduleAllCallbacks()
  20. EventMgr.off(EventType.PlaceGoods, this.onPlaceGoods, this)
  21. }
  22. public init(bounceDelay: number = 0): void {
  23. }
  24. public getSlot(pos: Vec3): number {
  25. return 0
  26. }
  27. protected onPlaceGoods(): void {
  28. }
  29. public isSlotOccupied(slotId: number): boolean {
  30. return false
  31. }
  32. public isAllSlotOccupied(): boolean {
  33. return false
  34. }
  35. public get isEmpty(): boolean {
  36. return false
  37. }
  38. public createGoods(goodsId: number, slotId: number, layer: number): void {
  39. }
  40. public placeGoods(goodsId: number, slotId: number): void {
  41. }
  42. public createLayerGoods(layer: number, bounceDelay: number = 0): void {
  43. }
  44. public removeGoods(goods: Goods): void {
  45. }
  46. public clear(): void {
  47. }
  48. public get GoodsIdArr(): number[] {
  49. return []
  50. }
  51. public get GoodsInfo(): Object {
  52. return null
  53. }
  54. }