feat: add sound, UI
parent
cedd082852
commit
1c1aa7578e
|
@ -1130,7 +1130,7 @@
|
|||
"fileId": "9crXsAtjdEQIcD0a2IceFl"
|
||||
},
|
||||
{
|
||||
"__type__": "4630aSZqwlFqb6BUtrii+tV",
|
||||
"__type__": "2b7c2ePr+dMuYseum/QYECs",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
|
@ -1161,6 +1161,10 @@
|
|||
"__uuid__": "6a432293-3852-4267-be19-c671f36fe9f0",
|
||||
"__expectedType__": "cc.AudioClip"
|
||||
},
|
||||
"_ballThrowSound": {
|
||||
"__uuid__": "97c8a166-c717-41bd-837f-bd1733e2ee1c",
|
||||
"__expectedType__": "cc.AudioClip"
|
||||
},
|
||||
"_jumpCurve": {
|
||||
"__id__": 79
|
||||
},
|
||||
|
@ -1168,7 +1172,7 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "43eN1N3HRBEa/ox7tb7ZPo"
|
||||
"fileId": "97rCl9CwBAEoDnKUvzZjGu"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AnimationCurve",
|
||||
|
@ -1188,9 +1192,9 @@
|
|||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 5.537037037037036,
|
||||
"rightTangent": 7.298245614035088,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 5.537037037037036,
|
||||
"leftTangent": 7.298245614035088,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
|
@ -1200,9 +1204,9 @@
|
|||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": -2.148148148148149,
|
||||
"rightTangent": -0.9629629629629626,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": -2.148148148148149,
|
||||
"leftTangent": -0.9629629629629626,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
|
|
|
@ -163,9 +163,9 @@
|
|||
"__id__": 22
|
||||
},
|
||||
"duration": 1.5,
|
||||
"loop": true,
|
||||
"loop": false,
|
||||
"simulationSpeed": 1,
|
||||
"playOnAwake": true,
|
||||
"playOnAwake": false,
|
||||
"gravityModifier": {
|
||||
"__id__": 23
|
||||
},
|
||||
|
|
|
@ -318,7 +318,10 @@
|
|||
"__id__": 16
|
||||
},
|
||||
"_score": 10,
|
||||
"_flySpeed": 1000,
|
||||
"_hitSound": {
|
||||
"__uuid__": "1f602e14-2769-4903-b4d2-b0977eeaf36b",
|
||||
"__expectedType__": "cc.AudioClip"
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,7 @@
|
|||
import {
|
||||
_decorator,
|
||||
Animation,
|
||||
AudioClip,
|
||||
CCFloat,
|
||||
CCInteger,
|
||||
Collider2D,
|
||||
|
@ -18,6 +19,7 @@ import ObjectPool from '../Pool/ObjectPool';
|
|||
import Utilities from '../Utilities';
|
||||
import { EventManger } from '../Manager/EventManger';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
import { SoundManager } from '../Manager/SoundManager';
|
||||
const { ccclass, property, float } = _decorator;
|
||||
|
||||
@ccclass('ScoreObject')
|
||||
|
@ -28,6 +30,8 @@ export class ScoreObject extends Component implements IPoolable {
|
|||
private _sprite: Sprite;
|
||||
@property({ type: Animation, visible: true })
|
||||
private _spawnAnimation: Animation;
|
||||
@property({ type: AudioClip, visible: true })
|
||||
private _hitSound: AudioClip;
|
||||
@property({ type: CCInteger, visible: true })
|
||||
private _score: number;
|
||||
|
||||
|
@ -67,6 +71,7 @@ export class ScoreObject extends Component implements IPoolable {
|
|||
|
||||
private onContactBegin(selfCollider: Collider2D, otherCollider: Collider2D) {
|
||||
if (this._isHit) return;
|
||||
SoundManager.instance.playSfx(this._hitSound);
|
||||
this._collider.enabled = false;
|
||||
let center = this.node.getWorldPosition();
|
||||
let other = otherCollider.node.getWorldPosition();
|
||||
|
@ -78,7 +83,7 @@ export class ScoreObject extends Component implements IPoolable {
|
|||
this._flySpeed = otherCollider.getComponent(RigidBody2D).linearVelocity.length();
|
||||
this.node.setSiblingIndex(this.node.parent.children.length - 1);
|
||||
if (this._score > 0) {
|
||||
GameManager.instance.destroyEnviromentsObject(this._score, this.node.getWorldPosition());
|
||||
GameManager.instance.destroyEnvironmentObject(this._score, this.node.getWorldPosition());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ enum GameEvent {
|
|||
|
||||
export interface GameEventCallbackMap {
|
||||
[GameEvent.Score]: (score: number, type?: ScoreType) => void;
|
||||
[GameEvent.BallOut]: () => void;
|
||||
[GameEvent.BallOut]: (ball: number) => void;
|
||||
[GameEvent.MultiBall]: (active: boolean) => void;
|
||||
[GameEvent.GameStateChange]: (state: GameState) => void;
|
||||
[GameEvent.ScoreObjectRelease]: (obj: Node) => void;
|
||||
|
@ -20,7 +20,7 @@ export interface GameEventCallbackMap {
|
|||
|
||||
export interface GameEventArgMap {
|
||||
[GameEvent.Score]: [number, ScoreType];
|
||||
[GameEvent.BallOut]: null;
|
||||
[GameEvent.BallOut]: number;
|
||||
[GameEvent.MultiBall]: boolean;
|
||||
[GameEvent.GameStateChange]: GameState;
|
||||
[GameEvent.ScoreObjectRelease]: Node;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { _decorator, CCInteger, Collider2D, Component, Contact2DType, EventHandler, tween, Vec2 } from 'cc';
|
||||
import { Ball } from './Ball';
|
||||
import Utilities from '../Utilities';
|
||||
import { Ball } from './Ball';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('Cannon')
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "ba9083ce-8b19-4c6c-98bd-de3a9c918c2e",
|
||||
"uuid": "1f9704b7-db29-4e9e-87da-b4fa52808d59",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "c394b738-05e4-418d-a047-2b3df4d486aa",
|
||||
"uuid": "bed157ee-bcf2-4b22-9d4e-dc15a0e3769d",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "db6268f6-8d6d-4e9f-a908-f0c63885d157",
|
||||
"uuid": "3ff78da1-8ad4-494c-b153-029ed6fcb72a",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
|
|
|
@ -1,9 +1,20 @@
|
|||
import { _decorator, CCInteger, Collider2D, Component, Contact2DType, Node, RigidBody2D } from 'cc';
|
||||
import {
|
||||
_decorator,
|
||||
AudioClip,
|
||||
CCInteger,
|
||||
Collider2D,
|
||||
Component,
|
||||
Contact2DType,
|
||||
Node,
|
||||
ParticleSystem,
|
||||
Prefab,
|
||||
} from 'cc';
|
||||
import { GameManager } from '../Manager/GameManager';
|
||||
import Utilities from '../Utilities';
|
||||
import ObjectPool from '../Pool/ObjectPool';
|
||||
import { Ball } from './Ball';
|
||||
const { ccclass, property, float } = _decorator;
|
||||
import { SoundManager } from '../Manager/SoundManager';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('Goal')
|
||||
export class Goal extends Component {
|
||||
|
@ -11,9 +22,16 @@ export class Goal extends Component {
|
|||
private _collider: Collider2D;
|
||||
@property({ type: CCInteger, visible: true })
|
||||
private _score: number;
|
||||
@property({ type: Prefab, visible: true })
|
||||
private _goalFx: Prefab;
|
||||
@property({ type: AudioClip, visible: true })
|
||||
private _goalSound: AudioClip;
|
||||
|
||||
private _goalFxPool: ObjectPool;
|
||||
|
||||
protected onLoad(): void {
|
||||
this._collider.on(Contact2DType.BEGIN_CONTACT, this.onContactBegin, this);
|
||||
this._goalFxPool = new ObjectPool(this._goalFx, 5, false);
|
||||
}
|
||||
|
||||
private async onContactBegin(selfCollider: Collider2D, otherCollider: Collider2D) {
|
||||
|
@ -21,8 +39,16 @@ export class Goal extends Component {
|
|||
if (ball) {
|
||||
GameManager.instance.goal(this._score, ball.node.getWorldPosition());
|
||||
ball.setActiveRigi(false);
|
||||
const fx = this._goalFxPool.get(this.node, ParticleSystem);
|
||||
const pos = ball.node.getWorldPosition();
|
||||
pos.z = 10;
|
||||
fx.node.setWorldPosition(pos);
|
||||
fx.play();
|
||||
SoundManager.instance.playSfx(this._goalSound);
|
||||
await Utilities.delay(1000);
|
||||
ObjectPool.release(ball.node);
|
||||
await Utilities.waitUntil(() => fx.isStopped);
|
||||
this._goalFxPool.release(fx.node);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "5339a157-2cf5-421d-aaa9-6c77cd05ac9d",
|
||||
"uuid": "ce7b77b4-77a0-4795-a445-a0a05937487f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "02952a26-2842-48a0-af34-f4997260add9",
|
||||
"uuid": "e3b5f6bb-b54b-406c-adeb-409fc6d91a31",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "7ccc8c31-3541-418f-98a0-c2b46990d9d2",
|
||||
"uuid": "6f3c79a3-69f3-449e-8b6e-1c4028c2f7f3",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
|
|
|
@ -42,6 +42,8 @@ export class Ball extends Component implements IPoolable {
|
|||
private _collider: CircleCollider2D;
|
||||
@property({ type: AudioClip, visible: true })
|
||||
private _hitSound: AudioClip;
|
||||
@property({ type: AudioClip, visible: true })
|
||||
private _ballThrowSound: AudioClip;
|
||||
@property({ type: geometry.AnimationCurve, visible: true })
|
||||
private _jumpCurve: geometry.AnimationCurve = new geometry.AnimationCurve();
|
||||
|
||||
|
@ -91,7 +93,6 @@ export class Ball extends Component implements IPoolable {
|
|||
) {
|
||||
if (this._isHit) return;
|
||||
this._isHit = true;
|
||||
console.log(contact.getTangentSpeed());
|
||||
|
||||
if (this._rigidBody.linearVelocity.length() >= 5) {
|
||||
let hitPoint = contact.getWorldManifold().points[0];
|
||||
|
@ -128,6 +129,7 @@ export class Ball extends Component implements IPoolable {
|
|||
}
|
||||
|
||||
public throwBall(force: Vec2) {
|
||||
SoundManager.instance.playSfx(this._ballThrowSound);
|
||||
this._collider.group = PhysicsGroup.BALL_THROWING;
|
||||
this._rigidBody.group = PhysicsGroup.BALL_THROWING;
|
||||
this._rigidBody.applyLinearImpulseToCenter(force, true);
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "4630a499-ab09-45a9-be81-52dae28beb55",
|
||||
"uuid": "2b7c278f-afe7-4cb9-8b1e-ba6fd06040ac",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "87072b4f-2c3c-48b0-86a9-7d1dc17a750e",
|
||||
"uuid": "85a1dbb8-da01-4cac-81d4-1baa9ebf497f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "bbe27534-d4c2-4d1c-bd39-07c2605e319c",
|
||||
"uuid": "ca8a0c78-2894-4634-915f-311944852103",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
|
|
|
@ -1,4 +1,16 @@
|
|||
import { _decorator, Component, Node, Prefab, Vec2, Vec3, randomRangeInt, CCInteger } from 'cc';
|
||||
import {
|
||||
_decorator,
|
||||
Component,
|
||||
Node,
|
||||
Prefab,
|
||||
Vec2,
|
||||
Vec3,
|
||||
randomRangeInt,
|
||||
CCInteger,
|
||||
Director,
|
||||
director,
|
||||
AudioClip,
|
||||
} from 'cc';
|
||||
import ObjectPool from '../Pool/ObjectPool';
|
||||
import { Ball } from '../GamePlay/Ball';
|
||||
import Utilities from '../Utilities';
|
||||
|
@ -7,6 +19,7 @@ import { EventManger } from './EventManger';
|
|||
import GameEvent from '../Events/GameEvent';
|
||||
import ScoreType from '../Enum/ScoreType';
|
||||
import { FloatingText } from '../Environments/FloatingText';
|
||||
import { SoundManager } from './SoundManager';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('GameManager')
|
||||
|
@ -27,12 +40,18 @@ export class GameManager extends Component {
|
|||
private _ballSpawnPosition: Vec3;
|
||||
@property({ type: CCInteger, visible: true })
|
||||
private _balls = 3;
|
||||
@property({ type: AudioClip, visible: true })
|
||||
private _startSound: AudioClip;
|
||||
@property({ type: AudioClip, visible: true })
|
||||
private _backgroundMusic: AudioClip;
|
||||
|
||||
private _ballPool: ObjectPool;
|
||||
private _FloatingScorePool: ObjectPool;
|
||||
private _gameState = GameState.Init;
|
||||
private _gameState: GameState;
|
||||
|
||||
public highestStreak: number;
|
||||
public get balls() {
|
||||
return this._balls;
|
||||
}
|
||||
private _score = 0;
|
||||
private _isMultiBall = false;
|
||||
private _currentBallInGame = 0;
|
||||
|
@ -47,9 +66,8 @@ export class GameManager extends Component {
|
|||
this._FloatingScorePool = new ObjectPool(this._floatingScoreText, 10, true);
|
||||
}
|
||||
|
||||
protected start() {
|
||||
this.spawnBall(true);
|
||||
this.play();
|
||||
protected start(): void {
|
||||
this.changeGameState(GameState.Init);
|
||||
}
|
||||
|
||||
private changeGameState(state: GameState) {
|
||||
|
@ -82,6 +100,7 @@ export class GameManager extends Component {
|
|||
}
|
||||
|
||||
public spawnBall(throwBall: boolean): Ball {
|
||||
SoundManager.instance.playSfx(this._startSound);
|
||||
this.setCurrentBallInGame(1);
|
||||
const ball = this._ballPool.get(this.node, Ball);
|
||||
ball.node.setPosition(this._ballSpawnPosition);
|
||||
|
@ -99,8 +118,9 @@ export class GameManager extends Component {
|
|||
this.setCurrentBallInGame(-1);
|
||||
if (this._currentBallInGame <= 0) {
|
||||
this._balls--;
|
||||
EventManger.instance.emit(GameEvent.BallOut, null);
|
||||
EventManger.instance.emit(GameEvent.BallOut, this._balls);
|
||||
if (this._balls === 0) {
|
||||
await Utilities.delay(1000);
|
||||
this.changeGameState(GameState.GameOver);
|
||||
return;
|
||||
}
|
||||
|
@ -118,12 +138,25 @@ export class GameManager extends Component {
|
|||
}
|
||||
}
|
||||
|
||||
public destroyEnviromentsObject(bonusScore: number, position: Vec3) {
|
||||
public destroyEnvironmentObject(bonusScore: number, position: Vec3) {
|
||||
this.addScore(bonusScore, ScoreType.DestroyObject, position);
|
||||
}
|
||||
|
||||
public play() {
|
||||
public async play() {
|
||||
SoundManager.instance.playBGM(this._backgroundMusic, 0.5);
|
||||
this.changeGameState(GameState.Playing);
|
||||
await Utilities.delay(1000);
|
||||
this.spawnBall(true);
|
||||
}
|
||||
|
||||
public async restart() {
|
||||
this._balls = 3;
|
||||
this._score = 0;
|
||||
this._currentBallInGame = 0;
|
||||
this._isMultiBall = false;
|
||||
this.changeGameState(GameState.Playing);
|
||||
await Utilities.delay(1000);
|
||||
this.spawnBall(true);
|
||||
}
|
||||
|
||||
public onRevive() {
|
||||
|
|
|
@ -68,7 +68,7 @@ export class SoundManager extends Component {
|
|||
}
|
||||
|
||||
public playBGM(audio: AudioClip, volume = 1, loop = true) {
|
||||
if (this._audioSourceBgm) {
|
||||
if (!this._audioSourceBgm) {
|
||||
this._audioSourceBgm = new SoundSource();
|
||||
this._audioSourceBgm.source = new AudioSource('audioSourceBgm');
|
||||
this._audioSourceBgm.source.playOnAwake = false;
|
||||
|
|
|
@ -76,7 +76,7 @@ export class EndGameUIController extends Component {
|
|||
switch (this.currentState) {
|
||||
case PanelState.CompareScore:
|
||||
this.TurnOffAllPanels(this.compareScorePnl);
|
||||
var totalScore = GameManager.instance.score + GameManager.instance.highestStreak * 2;
|
||||
var totalScore = GameManager.instance.score;
|
||||
this.yourScoreTxt.string = 'Your score: ' + totalScore;
|
||||
|
||||
/// Todo: set top score here
|
||||
|
|
|
@ -1,14 +1,65 @@
|
|||
import { _decorator, Component, Node } from 'cc';
|
||||
import { _decorator, Component, Label, Node, tween } from 'cc';
|
||||
import { EventManger } from '../Manager/EventManger';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
import ScoreType from '../Enum/ScoreType';
|
||||
import Utilities from '../Utilities';
|
||||
import GameState from '../Enum/GameState';
|
||||
import { GameManager } from '../Manager/GameManager';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('UIController')
|
||||
export class UIController extends Component {
|
||||
start() {
|
||||
@property({ type: Label, visible: true })
|
||||
private _scoreLabel: Label;
|
||||
@property({ type: Label, visible: true })
|
||||
private _ballLabel: Label;
|
||||
@property({ type: Label, visible: true })
|
||||
private _goalLabel: Label;
|
||||
@property({ type: Label, visible: true })
|
||||
private _resultLabel: Label;
|
||||
@property({ type: Node, visible: true })
|
||||
private _startPanel: Node;
|
||||
@property({ type: Node, visible: true })
|
||||
private _overPanel: Node;
|
||||
|
||||
protected onLoad(): void {
|
||||
EventManger.instance.on(GameEvent.Score, this.onScore, this);
|
||||
EventManger.instance.on(GameEvent.BallOut, this.onBallOut, this);
|
||||
EventManger.instance.on(GameEvent.GameStateChange, this.onGameStateChange, this);
|
||||
this._goalLabel.string = '';
|
||||
}
|
||||
|
||||
update(deltaTime: number) {
|
||||
private async onScore(score: number, type: ScoreType) {
|
||||
this._scoreLabel.string = `Score: ${score}`;
|
||||
if (type == ScoreType.Goal) {
|
||||
this._goalLabel.string = 'Goal!!';
|
||||
await Utilities.delay(1000);
|
||||
this._goalLabel.string = '';
|
||||
}
|
||||
}
|
||||
|
||||
private async onBallOut(balls: number) {
|
||||
this._ballLabel.string = `Ball ${balls}`;
|
||||
this._goalLabel.string = 'Ball Out!!';
|
||||
await Utilities.delay(1000);
|
||||
this._goalLabel.string = '';
|
||||
}
|
||||
|
||||
private onGameStateChange(state: GameState) {
|
||||
switch (state) {
|
||||
case GameState.Init:
|
||||
this._startPanel.active = true;
|
||||
break;
|
||||
case GameState.Playing:
|
||||
this._scoreLabel.string = 'Score: 0';
|
||||
this._ballLabel.string = `Ball: ${GameManager.instance.balls}`;
|
||||
this._startPanel.active = false;
|
||||
this._overPanel.active = false;
|
||||
break;
|
||||
case GameState.GameOver:
|
||||
this._overPanel.active = true;
|
||||
this._resultLabel.string = this._scoreLabel.string;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "fc66df28-6c8c-4915-adbd-5a3da652cfc6",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "1f602e14-2769-4903-b4d2-b0977eeaf36b",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
|
@ -11,7 +11,7 @@
|
|||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "3edb092d-e894-4a3f-8a19-d1dcb1c80ff8@6c48a",
|
||||
"displayName": "Goal",
|
||||
"displayName": "goal",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
|
@ -35,7 +35,7 @@
|
|||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "3edb092d-e894-4a3f-8a19-d1dcb1c80ff8@f9941",
|
||||
"displayName": "Goal",
|
||||
"displayName": "goal",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
|
|
Loading…
Reference in New Issue