feat: 支持音频管线
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { _decorator, Node, Button, Sprite, Label, Toggle, ScrollView, EditBox, instantiate, UITransform, Vec2, EventTouch, EffectAsset, AudioClip, AudioSource } from 'cc';
|
||||
import { _decorator, Node, Button, Sprite, Label, Toggle, ScrollView, EditBox, instantiate, UITransform, Vec2, EventTouch, EffectAsset } from 'cc';
|
||||
import { BaseView } from 'db://assets/scripts/core/BaseView';
|
||||
import { ViewManager } from 'db://assets/scripts/core/ViewManager';
|
||||
import { CompletedLevelsManager } from 'db://assets/scripts/utils/CompletedLevelsManager';
|
||||
@@ -11,6 +11,7 @@ import { API_ENDPOINTS, API_TIMEOUT } from 'db://assets/scripts/config/ApiConfig
|
||||
import { HttpUtil } from 'db://assets/scripts/utils/HttpUtil';
|
||||
import { ApiEnvelope, CompletedLevel } from 'db://assets/scripts/types/ApiTypes';
|
||||
import { applyRoundedCorner } from 'db://assets/scripts/utils/roundedMaterial.utils';
|
||||
import { AudioManager } from 'db://assets/scripts/utils/AudioManager';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
/**
|
||||
@@ -69,9 +70,6 @@ export class PageWriteLevels extends BaseView {
|
||||
@property({ tooltip: '关卡封面圆角半径比例(相对于短边,0-0.5)' })
|
||||
coverCornerRadius: number = 0.1;
|
||||
|
||||
@property({ type: AudioClip, tooltip: '关卡项选中/取消选中音效' })
|
||||
itemToggleAudio: AudioClip | null = null;
|
||||
|
||||
private _selectedIndices: Set<number> = new Set();
|
||||
private _levels: CompletedLevel[] = [];
|
||||
private _levelCount: number = 0;
|
||||
@@ -429,7 +427,7 @@ export class PageWriteLevels extends BaseView {
|
||||
this._selectedIndices.delete(index);
|
||||
}
|
||||
|
||||
this._playSound(this.itemToggleAudio);
|
||||
AudioManager.instance.playButtonClick();
|
||||
|
||||
console.log('[PageWriteLevels] item切换选中:', index, selected, '当前已选:', this._selectedIndices.size);
|
||||
|
||||
@@ -492,11 +490,13 @@ export class PageWriteLevels extends BaseView {
|
||||
}
|
||||
|
||||
private _onBackClick(): void {
|
||||
AudioManager.instance.playButtonClick();
|
||||
console.log('[PageWriteLevels] 返回按钮点击');
|
||||
ViewManager.instance.back();
|
||||
}
|
||||
|
||||
private _onDataClick(): void {
|
||||
AudioManager.instance.playButtonClick();
|
||||
ViewManager.instance.open('PagePKData');
|
||||
}
|
||||
|
||||
@@ -513,16 +513,8 @@ export class PageWriteLevels extends BaseView {
|
||||
return true;
|
||||
}
|
||||
|
||||
private _playSound(clip: AudioClip | null): void {
|
||||
if (!clip) {
|
||||
return;
|
||||
}
|
||||
|
||||
const audioSource = this.node.getComponent(AudioSource) ?? this.node.addComponent(AudioSource);
|
||||
audioSource?.playOneShot(clip);
|
||||
}
|
||||
|
||||
private _onPreviewClick(): void {
|
||||
AudioManager.instance.playButtonClick();
|
||||
if (!this._validateSelection()) return;
|
||||
const shareTitle = this.shareTitleEditBox?.getComponent(EditBox)?.string?.trim() || '';
|
||||
ViewManager.instance.open('PagePreviewLevels', {
|
||||
@@ -534,6 +526,7 @@ export class PageWriteLevels extends BaseView {
|
||||
}
|
||||
|
||||
private async _onCompleteClick(): Promise<void> {
|
||||
AudioManager.instance.playButtonClick();
|
||||
if (!this._validateSelection()) return;
|
||||
|
||||
const shareTitle = this.shareTitleEditBox?.getComponent(EditBox)?.string?.trim() || '';
|
||||
|
||||
Reference in New Issue
Block a user