feat: update booster
|
@ -0,0 +1,303 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.AnimationClip",
|
||||
"_name": "ScoreObjectSpawn-002",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {
|
||||
"embeddedPlayerGroups": []
|
||||
},
|
||||
"_native": "",
|
||||
"sample": 60,
|
||||
"speed": 1,
|
||||
"wrapMode": 1,
|
||||
"enableTrsBlending": false,
|
||||
"_duration": 0.3333333333333333,
|
||||
"_hash": 500763545,
|
||||
"_tracks": [
|
||||
{
|
||||
"__id__": 1
|
||||
},
|
||||
{
|
||||
"__id__": 12
|
||||
}
|
||||
],
|
||||
"_exoticAnimation": null,
|
||||
"_events": [],
|
||||
"_embeddedPlayers": []
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.VectorTrack",
|
||||
"_binding": {
|
||||
"__type__": "cc.animation.TrackBinding",
|
||||
"path": {
|
||||
"__id__": 2
|
||||
},
|
||||
"proxy": null
|
||||
},
|
||||
"_channels": [
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
},
|
||||
{
|
||||
"__id__": 8
|
||||
},
|
||||
{
|
||||
"__id__": 10
|
||||
}
|
||||
],
|
||||
"_nComponents": 3
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.TrackPath",
|
||||
"_paths": [
|
||||
{
|
||||
"__id__": 3
|
||||
},
|
||||
"position"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.HierarchyPath",
|
||||
"path": "Sprite"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.16666666666666666
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 100,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 9
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 11
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.VectorTrack",
|
||||
"_binding": {
|
||||
"__type__": "cc.animation.TrackBinding",
|
||||
"path": {
|
||||
"__id__": 13
|
||||
},
|
||||
"proxy": null
|
||||
},
|
||||
"_channels": [
|
||||
{
|
||||
"__id__": 15
|
||||
},
|
||||
{
|
||||
"__id__": 17
|
||||
},
|
||||
{
|
||||
"__id__": 19
|
||||
},
|
||||
{
|
||||
"__id__": 21
|
||||
}
|
||||
],
|
||||
"_nComponents": 3
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.TrackPath",
|
||||
"_paths": [
|
||||
{
|
||||
"__id__": 14
|
||||
},
|
||||
"scale"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.HierarchyPath",
|
||||
"path": "Sprite"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 16
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 18
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.08333333333333333,
|
||||
0.18333333333333332,
|
||||
0.2833333333333333,
|
||||
0.3333333333333333
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0.5,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1.100000023841858,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "2.0.3",
|
||||
"importer": "animation-clip",
|
||||
"imported": true,
|
||||
"uuid": "c1f3213f-59a2-45ce-9786-df997bbe2d4f",
|
||||
"files": [
|
||||
".cconb"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"name": "ScoreObjectSpawn-002"
|
||||
}
|
||||
}
|
|
@ -81,7 +81,7 @@
|
|||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1.3,
|
||||
"value": 1.2999999523162842,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
|
@ -93,7 +93,7 @@
|
|||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0.7,
|
||||
"value": 0.699999988079071,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
|
@ -135,7 +135,7 @@
|
|||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0.6,
|
||||
"value": 0.6000000238418579,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
|
@ -262,7 +262,7 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.animation.HierarchyPath",
|
||||
"path": "Particle"
|
||||
"path": "Fx"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 0,
|
||||
"_techIdx": 1,
|
||||
"_defines": [
|
||||
{}
|
||||
],
|
||||
|
@ -25,7 +25,7 @@
|
|||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "22da4f3e-e271-413c-a5ef-d4b1ccba7b92@6c48a",
|
||||
"__uuid__": "435cbd16-621a-4d9d-84e9-834d9e388b3a@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
},
|
||||
"tintColor": {
|
||||
|
|
|
@ -7,13 +7,12 @@
|
|||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 0,
|
||||
"_techIdx": 1,
|
||||
"_defines": [
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"stage": 200,
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
|
@ -25,11 +24,15 @@
|
|||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "2a038be3-959b-404f-80ac-2c1223a1db30@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
},
|
||||
"tintColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"r": 127,
|
||||
"g": 127,
|
||||
"b": 127,
|
||||
"a": 255
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,17 @@
|
|||
import { _decorator, CCFloat, Collider2D, Component, Contact2DType } from 'cc';
|
||||
import { _decorator, CCFloat, Collider2D, Component, Contact2DType, Animation } from 'cc';
|
||||
import ObjectPool from '../Pool/ObjectPool';
|
||||
import { EventManger } from '../Manager/EventManger';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
import IPoolable from '../Pool/IPoolable';
|
||||
import Utilities from '../Utilities';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('BoosterBase')
|
||||
export class BoosterBase extends Component {
|
||||
export class BoosterBase extends Component implements IPoolable {
|
||||
@property({ type: Collider2D, visible: true })
|
||||
private _collider: Collider2D;
|
||||
protected _collider: Collider2D;
|
||||
@property({ type: Animation, visible: true })
|
||||
private _animation: Animation;
|
||||
@property(CCFloat)
|
||||
protected time: number = 10;
|
||||
|
||||
|
@ -16,10 +20,17 @@ export class BoosterBase extends Component {
|
|||
}
|
||||
|
||||
private onContactBegin(self: Collider2D, other: Collider2D) {
|
||||
this.BoosterActive();
|
||||
this.boosterActive();
|
||||
EventManger.instance.emit(GameEvent.ObjectRelease, this.node);
|
||||
ObjectPool.release(this.node);
|
||||
}
|
||||
|
||||
protected BoosterActive?(): void;
|
||||
protected boosterActive?(): void;
|
||||
|
||||
async onGet() {
|
||||
this._animation.play();
|
||||
await Utilities.delay(this._animation.defaultClip.duration);
|
||||
this._collider.enabled = true;
|
||||
}
|
||||
onRelease() {}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ const { ccclass, property } = _decorator;
|
|||
|
||||
@ccclass('CumulativeBooster')
|
||||
export class CumulativeBooster extends BoosterBase {
|
||||
protected BoosterActive(): void {
|
||||
protected boosterActive(): void {
|
||||
GameManager.instance.ActiveBooster(BoosterType.CumulativeBar, this.time);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
enum GameState {
|
||||
Init,
|
||||
Playing,
|
||||
GameOver,
|
||||
End,
|
||||
Relive,
|
||||
Init = 'Init',
|
||||
Playing = 'Playing',
|
||||
GameOver = 'GameOver',
|
||||
End = 'End',
|
||||
Relive = 'Relive',
|
||||
}
|
||||
|
||||
export default GameState;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
enum ScoreType {
|
||||
Goal,
|
||||
DestroyObject,
|
||||
Combo,
|
||||
Goal = 'Goal',
|
||||
DestroyObject = 'DestroyObject',
|
||||
Combo = 'Combo',
|
||||
}
|
||||
|
||||
export default ScoreType;
|
||||
|
|
|
@ -4,6 +4,7 @@ enum TimeConfig {
|
|||
DelayGoal = 2,
|
||||
DelayCannonFire = 0.4,
|
||||
DelayCannonDone = 0.5,
|
||||
Tutorial = 10,
|
||||
}
|
||||
|
||||
export default TimeConfig;
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
import { _decorator, Animation, Vec3 } from 'cc';
|
||||
import Utilities from '../Utilities';
|
||||
import Singleton from '../Singleton';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('CameraController')
|
||||
export class CameraController extends Singleton<CameraController>() {
|
||||
@property({ type: Animation, visible: true })
|
||||
private _animation: Animation;
|
||||
|
||||
public async shake(time: number) {
|
||||
this._animation.play();
|
||||
await Utilities.delay(time);
|
||||
this._animation.stop();
|
||||
this.node.setPosition(new Vec3(0, 0, 1000));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "46beeb67-8d0a-42dd-b330-8e62fd99cfe8",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -1,10 +1,12 @@
|
|||
import { _decorator, CCInteger, clamp, Component, lerp, Sprite } from 'cc';
|
||||
import { _decorator, CCInteger, clamp, Component, lerp, Sprite, Node, tween, Prefab } from 'cc';
|
||||
import { EventManger } from '../Manager/EventManger';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
import ScoreType from '../Enum/ScoreType';
|
||||
import Utilities from '../Utilities';
|
||||
import { GameManager } from '../Manager/GameManager';
|
||||
import BoosterType from '../Enum/BoosterType';
|
||||
import { SpawnObjectManager } from '../Manager/SpawnObjectManager';
|
||||
import ObjectPool from '../Pool/ObjectPool';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('CumulativeBar')
|
||||
|
@ -13,29 +15,32 @@ export class CumulativeBar extends Component {
|
|||
private _fillBar: Sprite;
|
||||
@property({ type: CCInteger, visible: true })
|
||||
private _maxValue = 1000;
|
||||
@property({ type: Node, visible: true })
|
||||
private _scoreUI: Node;
|
||||
@property({ type: Prefab, visible: true })
|
||||
private _scoreObjectPrefab: Prefab;
|
||||
|
||||
private _pools: ObjectPool;
|
||||
private _currentValue = 0;
|
||||
private _fillValue = 0;
|
||||
private _active = false;
|
||||
private _goal = false;
|
||||
private _timer = 0;
|
||||
|
||||
protected onLoad(): void {
|
||||
this._fillBar.fillRange = 0;
|
||||
this._pools = new ObjectPool(this._scoreObjectPrefab, 10, false);
|
||||
EventManger.instance.on(GameEvent.Score, this.onScore, this);
|
||||
EventManger.instance.on(GameEvent.BoosterActive, this.onBoosterActive, this);
|
||||
EventManger.instance.on(GameEvent.BoosterDisable, this.onBoosterDisable, this);
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
if (Math.abs(this._fillValue - this._fillBar.fillRange) >= 0.001) {
|
||||
this._fillBar.fillRange = lerp(this._fillBar.fillRange, this._fillValue, dt * 3);
|
||||
}
|
||||
|
||||
if (!this._active && this._currentValue > 0) {
|
||||
if (!this._goal && !this._active && this._currentValue > 0) {
|
||||
this._timer += dt;
|
||||
if (this._timer >= 1) {
|
||||
if (this._timer >= 0.1) {
|
||||
this._timer = 0;
|
||||
this._currentValue -= 25;
|
||||
this._currentValue -= 0.5;
|
||||
|
||||
if (this._currentValue < 0) {
|
||||
this._currentValue = 0;
|
||||
|
@ -43,29 +48,56 @@ export class CumulativeBar extends Component {
|
|||
this._fillValue = -clamp(this._currentValue / 2 / this._maxValue, 0, 0.5);
|
||||
}
|
||||
}
|
||||
|
||||
if (Math.abs(this._fillValue - this._fillBar.fillRange) >= 0.001) {
|
||||
this._fillBar.fillRange = lerp(this._fillBar.fillRange, this._fillValue, dt * 3);
|
||||
}
|
||||
}
|
||||
|
||||
private async onScore(score: number, points: number, type: ScoreType) {
|
||||
if (!this._active) return;
|
||||
switch (type) {
|
||||
case ScoreType.DestroyObject:
|
||||
if (!this._active) return;
|
||||
this._currentValue += points;
|
||||
break;
|
||||
|
||||
case ScoreType.Goal:
|
||||
if (this._currentValue == 0) return;
|
||||
this._goal = true;
|
||||
await Utilities.delay(1);
|
||||
GameManager.instance.addScore(this._currentValue, ScoreType.Combo, this.node.getWorldPosition(), {
|
||||
let items = Math.round(this._currentValue / 5);
|
||||
GameManager.instance.addScore(
|
||||
Math.round(this._currentValue),
|
||||
ScoreType.Combo,
|
||||
this.node.getWorldPosition(),
|
||||
{
|
||||
scaleMin: 2,
|
||||
scaleMax: 4,
|
||||
duration: 1,
|
||||
});
|
||||
},
|
||||
);
|
||||
this._currentValue = 0;
|
||||
this._goal = false;
|
||||
this.playCollectEffect(items);
|
||||
break;
|
||||
}
|
||||
this._fillValue = -clamp(this._currentValue / 2 / this._maxValue, 0, 0.5);
|
||||
}
|
||||
|
||||
private async playCollectEffect(items: number) {
|
||||
const time = items < 10 ? 0.05 : 1.5 / items;
|
||||
while (items > 0) {
|
||||
const obj = this._pools.get(this.node);
|
||||
obj.setWorldPosition(this.node.worldPosition);
|
||||
tween(obj)
|
||||
.to(0.3, { worldPosition: this._scoreUI.worldPosition })
|
||||
.call(() => ObjectPool.release(obj))
|
||||
.start();
|
||||
items--;
|
||||
await Utilities.delay(time);
|
||||
}
|
||||
}
|
||||
|
||||
private onBoosterActive(type: BoosterType) {
|
||||
if (type == BoosterType.CumulativeBar) this._active = true;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { _decorator, Collider2D, Component, Contact2DType, Node, Animation } from 'cc';
|
||||
import { _decorator, Collider2D, Component, Contact2DType, Node, Animation, RigidBody2D } from 'cc';
|
||||
import { CameraController } from './CameraController';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('SlingShot')
|
||||
|
@ -14,5 +15,7 @@ export default class SlingShot extends Component {
|
|||
|
||||
onBeginContact(self: Collider2D, other: Collider2D) {
|
||||
this._animation.play();
|
||||
const velocity = other.getComponent(RigidBody2D).linearVelocity.length();
|
||||
if (velocity >= 40) CameraController.instance.shake(0.08);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ import { Node } from 'cc';
|
|||
import GameState from '../Enum/GameState';
|
||||
import ScoreType from '../Enum/ScoreType';
|
||||
import BoosterType from '../Enum/BoosterType';
|
||||
import { ControllerSide } from '../GamePlay/Flipper';
|
||||
|
||||
enum GameEvent {
|
||||
Score,
|
||||
|
@ -12,6 +13,8 @@ enum GameEvent {
|
|||
ObjectRelease,
|
||||
BoosterActive,
|
||||
BoosterDisable,
|
||||
ControlTouchStart,
|
||||
ControlTouchEnd,
|
||||
}
|
||||
|
||||
export interface GameEventCallbackMap {
|
||||
|
@ -21,8 +24,10 @@ export interface GameEventCallbackMap {
|
|||
[GameEvent.TimeUpdate]: (time: number) => void;
|
||||
[GameEvent.GameStateChange]: (state: GameState) => void;
|
||||
[GameEvent.ObjectRelease]: (obj: Node) => void;
|
||||
[GameEvent.BoosterActive]: (score: BoosterType) => void;
|
||||
[GameEvent.BoosterDisable]: (score: BoosterType) => void;
|
||||
[GameEvent.BoosterActive]: (boosterType: BoosterType) => void;
|
||||
[GameEvent.BoosterDisable]: (boosterType: BoosterType) => void;
|
||||
[GameEvent.ControlTouchStart]: (touchSide: ControllerSide) => void;
|
||||
[GameEvent.ControlTouchEnd]: (touchSide: ControllerSide) => void;
|
||||
}
|
||||
|
||||
export interface GameEventArgMap {
|
||||
|
@ -34,6 +39,8 @@ export interface GameEventArgMap {
|
|||
[GameEvent.ObjectRelease]: Node;
|
||||
[GameEvent.BoosterActive]: BoosterType;
|
||||
[GameEvent.BoosterDisable]: BoosterType;
|
||||
[GameEvent.ControlTouchStart]: ControllerSide;
|
||||
[GameEvent.ControlTouchEnd]: ControllerSide;
|
||||
}
|
||||
|
||||
export default GameEvent;
|
||||
|
|
|
@ -15,6 +15,7 @@ import { Ball } from './Ball';
|
|||
import TimeConfig from '../Enum/TimeConfig';
|
||||
import { EventManger } from '../Manager/EventManger';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
import { CameraController } from '../Environments/CameraController';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('Cannon')
|
||||
|
@ -40,6 +41,7 @@ export class Cannon extends Component {
|
|||
ball.setActiveRigi(false);
|
||||
tween(ball.node).to(0.1, { worldPosition: this.node.worldPosition }).start();
|
||||
await Utilities.delay(TimeConfig.DelayCannonFire);
|
||||
CameraController.instance.shake(0.2);
|
||||
this._animation.play();
|
||||
ball.setActiveRigi(true);
|
||||
ball.throwBall(new Vec2(0, this._force));
|
||||
|
|
|
@ -107,7 +107,7 @@ export class Enemy extends Component {
|
|||
.start();
|
||||
}
|
||||
|
||||
private onScore(score: number, type: ScoreType) {
|
||||
private onScore(score: number, points: number, type: ScoreType) {
|
||||
if (type == ScoreType.Goal) {
|
||||
this._currentGoal++;
|
||||
if (this._currentGoal == this._requireGoal) {
|
||||
|
|
|
@ -15,6 +15,7 @@ import ObjectPool from '../Pool/ObjectPool';
|
|||
import { Ball } from './Ball';
|
||||
import { SoundManager } from '../Manager/SoundManager';
|
||||
import TimeConfig from '../Enum/TimeConfig';
|
||||
import { CameraController } from '../Environments/CameraController';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('Goal')
|
||||
|
@ -47,6 +48,7 @@ export class Goal extends Component {
|
|||
fx.play();
|
||||
SoundManager.instance.playSfx(this._goalSound);
|
||||
ObjectPool.release(ball.node);
|
||||
CameraController.instance.shake(0.5);
|
||||
await Utilities.waitUntil(() => fx.isStopped);
|
||||
this._goalFxPool.release(fx.node);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import { _decorator, Collider2D, Component, Contact2DType, Vec2, Node } from 'cc';
|
||||
import { _decorator, Collider2D, Component, Contact2DType, Vec2, Node, ParticleSystem, Prefab } from 'cc';
|
||||
import { GameManager } from '../Manager/GameManager';
|
||||
import Utilities from '../Utilities';
|
||||
import { Ball } from './Ball';
|
||||
import TimeConfig from '../Enum/TimeConfig';
|
||||
import ObjectPool from '../Pool/ObjectPool';
|
||||
import { CameraController } from '../Environments/CameraController';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('MultiBall')
|
||||
|
@ -13,24 +15,29 @@ export class MultiBall extends Component {
|
|||
private _portLeft;
|
||||
@property({ type: Node, visible: true })
|
||||
private _portRight;
|
||||
@property({ type: Prefab, visible: true })
|
||||
private _fx: Prefab;
|
||||
|
||||
private _originBall: Ball;
|
||||
private _trigged = false;
|
||||
private _fxPool: ObjectPool;
|
||||
|
||||
protected onLoad(): void {
|
||||
this._fxPool = new ObjectPool(this._fx, 2, true);
|
||||
this._collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
||||
}
|
||||
|
||||
protected lateUpdate(dt: number): void {
|
||||
if (this._trigged) {
|
||||
CameraController.instance.shake(0.2);
|
||||
this._originBall.setActiveRigi(true);
|
||||
const ball1 = this._originBall;
|
||||
const ball2 = GameManager.instance.spawnBall(false);
|
||||
ball1.node.setWorldPosition(this._portRight.worldPosition);
|
||||
ball1.addForce(new Vec2(10, 0));
|
||||
ball1.addForce(new Vec2(20, 0));
|
||||
|
||||
ball2.node.setWorldPosition(this._portLeft.worldPosition);
|
||||
ball2.addForce(new Vec2(-10, 0));
|
||||
ball2.addForce(new Vec2(-20, 0));
|
||||
|
||||
ball1.playMultiBallEffect();
|
||||
ball2.playMultiBallEffect();
|
||||
|
@ -45,7 +52,11 @@ export class MultiBall extends Component {
|
|||
this._originBall = otherCollider.getComponent(Ball);
|
||||
this._originBall.setActiveRigi(false);
|
||||
this._trigged = true;
|
||||
const fx = this._fxPool.get(this.node, ParticleSystem);
|
||||
fx.node.setWorldPosition(this.node.worldPosition);
|
||||
await Utilities.delay(TimeConfig.DelayMultiBall);
|
||||
this._collider.enabled = true;
|
||||
await Utilities.waitUntil(() => fx.isStopped);
|
||||
this._fxPool.release(fx.node);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,6 +25,8 @@ import { SoundManager } from '../Manager/SoundManager';
|
|||
import PhysicsGroup from '../Enum/PhysicGroup';
|
||||
import ObjectPool from '../Pool/ObjectPool';
|
||||
import Utilities from '../Utilities';
|
||||
import { EventManger } from '../Manager/EventManger';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('Ball')
|
||||
|
@ -45,6 +47,8 @@ export class Ball extends Component implements IPoolable {
|
|||
private _trail: ParticleSystem;
|
||||
@property({ type: ParticleSystem, visible: true })
|
||||
private _buffParticle: ParticleSystem;
|
||||
@property({ type: ParticleSystem, visible: true })
|
||||
private _boosterParticle: ParticleSystem;
|
||||
@property({ type: CircleCollider2D, visible: true })
|
||||
private _collider: CircleCollider2D;
|
||||
@property({ type: AudioClip, visible: true })
|
||||
|
@ -63,13 +67,21 @@ export class Ball extends Component implements IPoolable {
|
|||
public eventHitObstacle = new EventTarget();
|
||||
public eventGoal = new EventTarget();
|
||||
|
||||
public init(boosterActive: boolean) {
|
||||
if (boosterActive) this._boosterParticle.play();
|
||||
else this._boosterParticle.stop();
|
||||
}
|
||||
|
||||
protected onLoad(): void {
|
||||
if (this._collider) {
|
||||
this._collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
||||
this._collider.on(Contact2DType.END_CONTACT, this.onEndContact, this);
|
||||
}
|
||||
director.on(Director.EVENT_AFTER_PHYSICS, this.setMaxVelocity, this);
|
||||
this._impactPool = new ObjectPool(this._impactPrefab, 5, false);
|
||||
this._impactPool = new ObjectPool(this._impactPrefab, 10, false);
|
||||
|
||||
EventManger.instance.on(GameEvent.BoosterActive, this.onBoosterActive, this);
|
||||
EventManger.instance.on(GameEvent.BoosterDisable, this.onBoosterDisable, this);
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
|
@ -105,7 +117,8 @@ export class Ball extends Component implements IPoolable {
|
|||
) {
|
||||
if (this._isHit) return;
|
||||
this._isHit = true;
|
||||
if (!otherCollider.sensor && this._rigidBody.linearVelocity.length() >= 5) {
|
||||
const velocity = this._rigidBody.linearVelocity.length();
|
||||
if (!otherCollider.sensor && velocity >= 5) {
|
||||
this._animation.play();
|
||||
let hitPoint = contact.getWorldManifold().points[0];
|
||||
|
||||
|
@ -120,7 +133,6 @@ export class Ball extends Component implements IPoolable {
|
|||
}
|
||||
const hitFx = this._impactPool.get(this.node.parent, ParticleSystem);
|
||||
hitFx.node.setWorldPosition(new Vec3(hitPoint.x, hitPoint.y, 10));
|
||||
hitFx.play();
|
||||
SoundManager.instance.playSfx(this._hitSound);
|
||||
await Utilities.waitUntil(() => hitFx.isStopped, 0.1);
|
||||
this._impactPool.release(hitFx.node);
|
||||
|
@ -131,6 +143,14 @@ export class Ball extends Component implements IPoolable {
|
|||
this._isHit = false;
|
||||
}
|
||||
|
||||
private onBoosterActive() {
|
||||
this._boosterParticle.play();
|
||||
}
|
||||
|
||||
private onBoosterDisable() {
|
||||
this._boosterParticle.stop();
|
||||
}
|
||||
|
||||
private setMaxVelocity() {
|
||||
if (this._rigidBody.linearVelocity.length() > this._maxSpeed) {
|
||||
this._rigidBody.linearVelocity = this._rigidBody.linearVelocity.normalize().multiplyScalar(this._maxSpeed);
|
||||
|
@ -174,5 +194,8 @@ export class Ball extends Component implements IPoolable {
|
|||
this._rigidBody.linearVelocity = Vec2.ZERO.clone();
|
||||
this._rigidBody.angularVelocity = 0;
|
||||
this._buffParticle.stop();
|
||||
this.getComponentsInChildren(ParticleSystem).forEach((particle) => {
|
||||
particle.clear();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,12 +8,16 @@ import {
|
|||
EventKeyboard,
|
||||
KeyCode,
|
||||
Enum,
|
||||
EventTouch,
|
||||
screen,
|
||||
Animation,
|
||||
Vec3,
|
||||
AnimationState,
|
||||
} from 'cc';
|
||||
import { EventManger } from '../Manager/EventManger';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
import TimeConfig from '../Enum/TimeConfig';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
enum ControllerSide {
|
||||
export enum ControllerSide {
|
||||
Left,
|
||||
Right,
|
||||
}
|
||||
|
@ -22,6 +26,8 @@ Enum(ControllerSide);
|
|||
|
||||
@ccclass('Flipper')
|
||||
export class Flipper extends Component {
|
||||
@property({ type: Animation, visible: true })
|
||||
private _animation: Animation;
|
||||
@property({ visible: true, type: HingeJoint2D })
|
||||
private _hingeJoint: HingeJoint2D;
|
||||
@property({ visible: true, type: CCFloat })
|
||||
|
@ -31,11 +37,26 @@ export class Flipper extends Component {
|
|||
@property({ visible: true, type: ControllerSide })
|
||||
private side = ControllerSide.Left;
|
||||
|
||||
private _timer = 0;
|
||||
private _isAnimationPlaying;
|
||||
|
||||
protected onLoad(): void {
|
||||
input.on(Input.EventType.KEY_DOWN, this.onKeyInputDown, this);
|
||||
input.on(Input.EventType.KEY_UP, this.onKeyInputUp, this);
|
||||
input.on(Input.EventType.TOUCH_START, this.onTouchStart, this);
|
||||
input.on(Input.EventType.TOUCH_END, this.onTouchEnd, this);
|
||||
EventManger.instance.on(GameEvent.ControlTouchStart, this.onTouchStart, this);
|
||||
EventManger.instance.on(GameEvent.ControlTouchEnd, this.onTouchEnd, this);
|
||||
}
|
||||
|
||||
protected start(): void {
|
||||
this._animation.play();
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
this._timer += dt;
|
||||
this._isAnimationPlaying = this._animation.getState(this._animation.defaultClip.name).isPlaying;
|
||||
if (!this._isAnimationPlaying && this._timer >= TimeConfig.Tutorial) {
|
||||
this._animation.play();
|
||||
}
|
||||
}
|
||||
|
||||
//#region Input Handler
|
||||
|
@ -45,10 +66,18 @@ export class Flipper extends Component {
|
|||
case KeyCode.KEY_A:
|
||||
case KeyCode.ARROW_LEFT:
|
||||
if (this.side == ControllerSide.Left) this.activeFlipper();
|
||||
this._timer = 0;
|
||||
if (this._animation.getState(this._animation.defaultClip.name).isPlaying) {
|
||||
this._animation.stop();
|
||||
}
|
||||
break;
|
||||
case KeyCode.KEY_D:
|
||||
case KeyCode.ARROW_RIGHT:
|
||||
if (this.side == ControllerSide.Right) this.activeFlipper();
|
||||
this._timer = 0;
|
||||
if (this._isAnimationPlaying) {
|
||||
this._animation.stop();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -70,28 +99,21 @@ export class Flipper extends Component {
|
|||
}
|
||||
}
|
||||
|
||||
private onTouchStart(event: EventTouch) {
|
||||
if (event.getLocationX() > screen.windowSize.x / 2) {
|
||||
if (this.side == ControllerSide.Right) {
|
||||
this.activeFlipper();
|
||||
}
|
||||
} else {
|
||||
if (this.side == ControllerSide.Left) {
|
||||
private onTouchStart(controllerSide: ControllerSide) {
|
||||
if (this.side == controllerSide) {
|
||||
this.activeFlipper();
|
||||
}
|
||||
this.node.setScale(Vec3.ONE);
|
||||
this._timer = 0;
|
||||
if (this._isAnimationPlaying) {
|
||||
this._animation.stop();
|
||||
}
|
||||
}
|
||||
|
||||
private onTouchEnd(event: EventTouch) {
|
||||
if (event.getLocationX() > screen.windowSize.x / 2) {
|
||||
if (this.side == ControllerSide.Right) {
|
||||
private onTouchEnd(controllerSide: ControllerSide) {
|
||||
if (this.side == controllerSide) {
|
||||
this.deActiveFlipper();
|
||||
}
|
||||
} else {
|
||||
if (this.side == ControllerSide.Left) {
|
||||
this.deActiveFlipper();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
|
|
@ -1,26 +1,12 @@
|
|||
import { __private, _decorator, Component, EventTarget, Node } from 'cc';
|
||||
import { __private, _decorator, EventTarget } from 'cc';
|
||||
import { GameEventArgMap, GameEventCallbackMap } from '../Events/GameEvent';
|
||||
import Singleton from '../Singleton';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('EventManger')
|
||||
export class EventManger extends Component {
|
||||
//singleton
|
||||
private static _instance: EventManger = null;
|
||||
public static get instance(): EventManger {
|
||||
if (!EventManger._instance) {
|
||||
EventManger._instance = new EventManger('EventManger');
|
||||
}
|
||||
return EventManger._instance;
|
||||
}
|
||||
|
||||
export class EventManger extends Singleton<EventManger>('EventManger') {
|
||||
private _eventTarget = new EventTarget();
|
||||
|
||||
onLoad() {
|
||||
if (!EventManger._instance) {
|
||||
EventManger._instance = this;
|
||||
}
|
||||
}
|
||||
|
||||
public on<K extends keyof GameEventCallbackMap>(
|
||||
eventType: K,
|
||||
callback: GameEventCallbackMap[K],
|
||||
|
|
|
@ -25,6 +25,7 @@ import { SoundManager } from './SoundManager';
|
|||
import TimeConfig from '../Enum/TimeConfig';
|
||||
import BEConnector from '../API/BEConnector';
|
||||
import BoosterType from '../Enum/BoosterType';
|
||||
import Singleton from '../Singleton';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
window.addEventListener('message', (data) => {
|
||||
|
@ -52,13 +53,9 @@ class Booster {
|
|||
}
|
||||
|
||||
@ccclass('GameManager')
|
||||
export class GameManager extends Component {
|
||||
//singleton
|
||||
private static _instance: GameManager = null;
|
||||
public static get instance(): GameManager {
|
||||
return GameManager._instance;
|
||||
}
|
||||
|
||||
export class GameManager extends Singleton<GameManager>() {
|
||||
@property({ visible: true })
|
||||
private _colliderDebug: boolean = false;
|
||||
@property({ type: Prefab, visible: true })
|
||||
private _ballPrefab: Prefab;
|
||||
@property({ type: Prefab, visible: true })
|
||||
|
@ -93,10 +90,10 @@ export class GameManager extends Component {
|
|||
}
|
||||
|
||||
protected onLoad(): void {
|
||||
GameManager._instance = this;
|
||||
super.onLoad();
|
||||
this._ballPool = new ObjectPool(this._ballPrefab, 10, true, Ball);
|
||||
this._FloatingScorePool = new ObjectPool(this._floatingScoreText, 10, true);
|
||||
// PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Shape;
|
||||
if (this._colliderDebug) PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Shape;
|
||||
}
|
||||
|
||||
protected start(): void {
|
||||
|
@ -182,6 +179,7 @@ export class GameManager extends Component {
|
|||
SoundManager.instance.playSfx(this._startSound);
|
||||
this.setCurrentBallInGame(1);
|
||||
const ball = this._ballPool.get(this._ballHolder, Ball);
|
||||
ball.init(this._boostersActive.length > 0);
|
||||
ball.node.setRotation(Quat.IDENTITY);
|
||||
ball.node.setPosition(this._ballSpawnPosition);
|
||||
if (!throwBall) return ball;
|
||||
|
@ -198,6 +196,12 @@ export class GameManager extends Component {
|
|||
this.setCurrentBallInGame(-1);
|
||||
if (this._currentBallInGame <= 0) {
|
||||
EventManger.instance.emit(GameEvent.BallOut, null);
|
||||
for (let i = 0; i < this._boostersActive.length; i++) {
|
||||
const booster = this._boostersActive[i];
|
||||
EventManger.instance.emit(GameEvent.BoosterDisable, booster.type);
|
||||
}
|
||||
this._boostersActive = [];
|
||||
|
||||
await Utilities.delay(TimeConfig.DelayPLay);
|
||||
this.spawnBall(true);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { _decorator, AudioClip, AudioSource, Component, Node } from 'cc';
|
||||
import Singleton from '../Singleton';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
class SoundSource {
|
||||
|
@ -34,25 +35,12 @@ class SoundSource {
|
|||
}
|
||||
|
||||
@ccclass('SoundManager')
|
||||
export class SoundManager extends Component {
|
||||
//singleton
|
||||
private static _instance: SoundManager;
|
||||
public static get instance(): SoundManager {
|
||||
if (!SoundManager._instance) {
|
||||
SoundManager._instance = new SoundManager('SoundManager');
|
||||
}
|
||||
return SoundManager._instance;
|
||||
}
|
||||
|
||||
export class SoundManager extends Singleton<SoundManager>('SoundManager') {
|
||||
private _audioSourcesSfx: { [key: string]: SoundSource } = {};
|
||||
private _audioSourceBgm: SoundSource;
|
||||
|
||||
private isMute = false;
|
||||
|
||||
protected onLoad(): void {
|
||||
SoundManager._instance = this;
|
||||
}
|
||||
|
||||
public toggleMute(): boolean {
|
||||
this.isMute = !this.isMute;
|
||||
this.setMute(this.isMute);
|
||||
|
|
|
@ -6,6 +6,8 @@ import GameEvent from '../Events/GameEvent';
|
|||
import GameState from '../Enum/GameState';
|
||||
import Utilities from '../Utilities';
|
||||
import ScoreType from '../Enum/ScoreType';
|
||||
import Singleton from '../Singleton';
|
||||
import { BoosterBase } from '../Booster/BoosterBase';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('weightedObject')
|
||||
|
@ -26,22 +28,17 @@ class weightedObject {
|
|||
|
||||
@ccclass('SpawnObjectManager')
|
||||
export class SpawnObjectManager extends Component {
|
||||
//#region singleton
|
||||
private static _instance: SpawnObjectManager = null;
|
||||
public static get instance(): SpawnObjectManager {
|
||||
return SpawnObjectManager._instance;
|
||||
}
|
||||
//#endregion
|
||||
|
||||
@property({ type: weightedObject, visible: true })
|
||||
private _objects: weightedObject[] = [];
|
||||
@property({ type: weightedObject, visible: true })
|
||||
private _boosters: weightedObject[] = [];
|
||||
@property({ type: Node, visible: true })
|
||||
private _spawnPoints: Node[] = [];
|
||||
@property({ type: CCFloat, visible: true, range: [1, 10], slide: true })
|
||||
private _spawnTime;
|
||||
@property({ type: CCFloat, visible: true, range: [1, 100], slide: true })
|
||||
@property({ type: CCFloat, visible: true })
|
||||
private readonly _spawnTime;
|
||||
@property({ type: CCFloat, visible: true })
|
||||
private readonly _spawnTimeWhenBoosterActive;
|
||||
@property({ type: CCFloat, visible: true })
|
||||
private _spawnBoosterTime;
|
||||
|
||||
private _pools: ObjectPool[] = [];
|
||||
|
@ -51,15 +48,18 @@ export class SpawnObjectManager extends Component {
|
|||
private _timer = 0;
|
||||
private _timerBooster = 0;
|
||||
private _weights: number[] = [];
|
||||
private _boosterWeights: number[] = [];
|
||||
private _isReplay = false;
|
||||
private _boosterSpawned = false;
|
||||
private _spawnTimeObject = 0;
|
||||
|
||||
protected onLoad(): void {
|
||||
SpawnObjectManager._instance = this;
|
||||
EventManger.instance.on(GameEvent.ObjectRelease, this.onObjectRelease, this);
|
||||
EventManger.instance.on(GameEvent.GameStateChange, this.onGameStateChange, this);
|
||||
EventManger.instance.on(GameEvent.Score, this.onScore, this);
|
||||
EventManger.instance.on(GameEvent.BoosterActive, this.onBoosterActive, this);
|
||||
EventManger.instance.on(GameEvent.BoosterDisable, this.onBoosterDisable, this);
|
||||
this._spawnTimeObject = this._spawnTime;
|
||||
|
||||
for (let i = 0; i < this._objects.length; i++) {
|
||||
const prefab = this._objects[i].prefab;
|
||||
|
@ -68,14 +68,14 @@ export class SpawnObjectManager extends Component {
|
|||
|
||||
for (let i = 0; i < this._boosters.length; i++) {
|
||||
const prefab = this._boosters[i].prefab;
|
||||
this._boosterPools[i] = new ObjectPool(prefab, 2, true);
|
||||
this._boosterPools[i] = new ObjectPool(prefab, 2, true, BoosterBase);
|
||||
}
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
if (!this._playing) return;
|
||||
this._timer += dt;
|
||||
if (this._timer >= this._spawnTime) {
|
||||
if (this._timer >= this._spawnTimeObject) {
|
||||
this._timer = 0;
|
||||
this.spawn();
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ export class SpawnObjectManager extends Component {
|
|||
private spawnBooster() {
|
||||
if (Object.keys(this._usedPoints).length == this._spawnPoints.length) return;
|
||||
do {
|
||||
var randomPool = Utilities.weightedRandom(this._boosterPools, this._weights);
|
||||
var randomPool = Utilities.weightedRandom(this._boosterPools, this._boosterWeights);
|
||||
var index = this._boosterPools.indexOf(randomPool);
|
||||
} while (this._boosters[index].maxObjects != -1 && randomPool.countActive >= this._boosters[index].maxObjects);
|
||||
|
||||
|
@ -126,9 +126,14 @@ export class SpawnObjectManager extends Component {
|
|||
|
||||
private onBoosterActive() {
|
||||
this._boosterSpawned = false;
|
||||
this._spawnTimeObject = this._spawnTimeWhenBoosterActive;
|
||||
}
|
||||
|
||||
private onScore(score: number, type: ScoreType) {
|
||||
private onBoosterDisable() {
|
||||
this._spawnTimeObject = this._spawnTime;
|
||||
}
|
||||
|
||||
private onScore(score: number, points: number, type: ScoreType) {
|
||||
if (type == ScoreType.Goal) {
|
||||
this._objects.forEach((object) => {
|
||||
if (object.currentWeight >= object.maxWeight) {
|
||||
|
@ -138,7 +143,16 @@ export class SpawnObjectManager extends Component {
|
|||
object.currentWeight += object.weightStepOnGoal;
|
||||
});
|
||||
|
||||
this._boosters.forEach((object) => {
|
||||
if (object.currentWeight >= object.maxWeight) {
|
||||
object.currentWeight = object.maxWeight;
|
||||
return;
|
||||
}
|
||||
object.currentWeight += object.weightStepOnGoal;
|
||||
});
|
||||
|
||||
this._weights = this._objects.map((obj) => obj.currentWeight);
|
||||
this._boosterWeights = this._boosters.map((obj) => obj.currentWeight);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -153,6 +167,10 @@ export class SpawnObjectManager extends Component {
|
|||
obj.currentWeight = obj.weight;
|
||||
return obj.currentWeight;
|
||||
});
|
||||
this._boosterWeights = this._boosters.map((obj) => {
|
||||
obj.currentWeight = obj.weight;
|
||||
return obj.currentWeight;
|
||||
});
|
||||
for (let i = 0; i < randomRangeInt(5, 10); i++) {
|
||||
this.spawn();
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { Component, Node, Prefab, director, instantiate } from 'cc';
|
||||
import IPoolable from './IPoolable';
|
||||
import { error } from 'cc';
|
||||
|
||||
export default class ObjectPool {
|
||||
private _inactive: Node[] = [];
|
||||
|
@ -25,6 +26,11 @@ export default class ObjectPool {
|
|||
}
|
||||
|
||||
constructor(prefab: Prefab, size: number, expandable = true, poolHandlerComp?: new () => any | string) {
|
||||
if (!!!prefab) {
|
||||
console.error('prefab cant be null or undefine');
|
||||
return;
|
||||
}
|
||||
|
||||
this._prefab = prefab;
|
||||
this._expandable = expandable;
|
||||
this._poolHandlerComp = poolHandlerComp;
|
||||
|
@ -46,6 +52,10 @@ export default class ObjectPool {
|
|||
public get(parent?: Node): Node;
|
||||
public get<T extends Component>(parent?: Node, classConstructor?: new () => T): T;
|
||||
public get<T extends Component>(parent?: Node, classConstructor?: new () => T): T | Node {
|
||||
if (!!!this._prefab) {
|
||||
console.error('prefab cant be null or undefine');
|
||||
return;
|
||||
}
|
||||
let obj: Node = null;
|
||||
let p = parent || director.getScene();
|
||||
if (this._inactive.length > 0) {
|
||||
|
@ -57,6 +67,7 @@ export default class ObjectPool {
|
|||
ObjectPool._poolLookUp[obj.uuid] = this;
|
||||
} else {
|
||||
obj = this._actives.shift();
|
||||
obj.removeFromParent();
|
||||
}
|
||||
|
||||
obj.setParent(p);
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "12993aad-2e72-407d-8568-829c74efdbbc",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
import { Component, Node } from 'cc';
|
||||
|
||||
export default function Singleton<T>(component?: string) {
|
||||
class Singleton extends Component {
|
||||
//singleton
|
||||
private static _instance: T = null;
|
||||
public static get instance(): T {
|
||||
if (component && !Singleton._instance) {
|
||||
Singleton._instance = new Node(component).addComponent(component) as T;
|
||||
}
|
||||
return Singleton._instance;
|
||||
}
|
||||
|
||||
protected onLoad(): void {
|
||||
Singleton._instance = this as unknown as T;
|
||||
}
|
||||
}
|
||||
|
||||
return Singleton;
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "698c78bc-df06-48e6-a7ee-3e7465a060fe",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
import { _decorator, Component, Input, Node } from 'cc';
|
||||
import { EventManger } from '../Manager/EventManger';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
import { ControllerSide } from '../GamePlay/Flipper';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('TouchController')
|
||||
export class TouchController extends Component {
|
||||
@property({ type: Node, visible: true })
|
||||
private _left: Node;
|
||||
@property({ type: Node, visible: true })
|
||||
private _right: Node;
|
||||
|
||||
protected onLoad(): void {
|
||||
this._left.on(Input.EventType.TOUCH_START, this.onLeftTouchStart, this);
|
||||
this._left.on(Input.EventType.TOUCH_END, this.onLeftTouchEnd, this);
|
||||
|
||||
this._right.on(Input.EventType.TOUCH_START, this.onRightTouchStart, this);
|
||||
this._right.on(Input.EventType.TOUCH_END, this.onRightTouchEnd, this);
|
||||
}
|
||||
|
||||
private onLeftTouchStart() {
|
||||
EventManger.instance.emit(GameEvent.ControlTouchStart, ControllerSide.Left);
|
||||
}
|
||||
|
||||
private onLeftTouchEnd() {
|
||||
EventManger.instance.emit(GameEvent.ControlTouchEnd, ControllerSide.Left);
|
||||
}
|
||||
|
||||
private onRightTouchStart() {
|
||||
EventManger.instance.emit(GameEvent.ControlTouchStart, ControllerSide.Right);
|
||||
}
|
||||
|
||||
private onRightTouchEnd() {
|
||||
EventManger.instance.emit(GameEvent.ControlTouchEnd, ControllerSide.Right);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "ae76d02c-efb3-4161-8281-bdd560f137da",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -1,5 +1,7 @@
|
|||
import { _decorator, Component, EventKeyboard, EventTouch, input, Input, KeyCode, Node, Tween, tween, Vec3 } from 'cc';
|
||||
import { GameManager } from '../Manager/GameManager';
|
||||
import TimeConfig from '../Enum/TimeConfig';
|
||||
import Utilities from '../Utilities';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('TutorialController')
|
||||
|
@ -9,44 +11,71 @@ export class TutorialController extends Component {
|
|||
@property({ type: Node, visible: true })
|
||||
private _tapR: Node;
|
||||
|
||||
private _timer = 0;
|
||||
private _showed = false;
|
||||
|
||||
protected onLoad(): void {
|
||||
this.node.on(Input.EventType.TOUCH_START, this.onTouch, this);
|
||||
input.on(Input.EventType.KEY_UP, this.onKeyInputUp, this);
|
||||
this.node.on(Input.EventType.TOUCH_START, this.onTouchStart, this);
|
||||
input.on(Input.EventType.KEY_UP, this.onKeyInputUpStart, this);
|
||||
}
|
||||
|
||||
protected onDisable(): void {
|
||||
this.node.off(Input.EventType.TOUCH_START, this.onTouch, this);
|
||||
input.off(Input.EventType.KEY_UP, this.onKeyInputUp, this);
|
||||
}
|
||||
|
||||
protected start() {
|
||||
protected async start() {
|
||||
tween(this._tapL)
|
||||
.by(0.5, { position: new Vec3(0, 50) }, { easing: 'quintOut' })
|
||||
.by(0.5, { position: new Vec3(0, -50) }, { easing: 'sineOut' })
|
||||
.by(0.5, { position: new Vec3(0, 50), scale: new Vec3(-0.1, -0.1) }, { easing: 'quintOut' })
|
||||
.by(0.5, { position: new Vec3(0, -50), scale: new Vec3(0.1, 0.1) }, { easing: 'sineOut' })
|
||||
.union()
|
||||
.repeatForever()
|
||||
.start();
|
||||
await Utilities.delay(0.5);
|
||||
tween(this._tapR)
|
||||
.delay(0.5)
|
||||
.by(0.5, { position: new Vec3(0, 50) }, { easing: 'quintOut' })
|
||||
.by(0.5, { position: new Vec3(0, -50) }, { easing: 'sineOut' })
|
||||
.by(0.5, { position: new Vec3(0, 50), scale: new Vec3(-0.1, -0.1) }, { easing: 'quintOut' })
|
||||
.by(0.5, { position: new Vec3(0, -50), scale: new Vec3(0.1, 0.1) }, { easing: 'sineOut' })
|
||||
.union()
|
||||
.repeatForever()
|
||||
.start();
|
||||
this.playTutorial();
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
this._timer += dt;
|
||||
if (!this._showed && this._timer > TimeConfig.Tutorial) {
|
||||
this._showed = true;
|
||||
this.playTutorial();
|
||||
}
|
||||
}
|
||||
|
||||
private playTutorial() {
|
||||
this._tapL.active = true;
|
||||
this._tapR.active = true;
|
||||
}
|
||||
|
||||
private stopTutorial() {
|
||||
this._timer = 0;
|
||||
this._showed = false;
|
||||
this._tapL.active = false;
|
||||
this._tapR.active = false;
|
||||
}
|
||||
|
||||
private startGame() {
|
||||
Tween.stopAllByTarget(this._tapL);
|
||||
Tween.stopAllByTarget(this._tapR);
|
||||
this.node.active = false;
|
||||
this.stopTutorial();
|
||||
this.node.off(Input.EventType.TOUCH_START, this.onTouchStart, this);
|
||||
input.off(Input.EventType.KEY_UP, this.onKeyInputUpStart, this);
|
||||
|
||||
this.node.on(Input.EventType.TOUCH_START, this.onTouch, this);
|
||||
input.on(Input.EventType.KEY_UP, this.onKeyInputUp, this);
|
||||
|
||||
GameManager.instance.play();
|
||||
}
|
||||
|
||||
private onTouch(event: EventTouch) {
|
||||
this.stopTutorial();
|
||||
}
|
||||
|
||||
private onTouchStart(event: EventTouch) {
|
||||
this.startGame();
|
||||
}
|
||||
|
||||
private onKeyInputUp(event: EventKeyboard) {
|
||||
private onKeyInputUpStart(event: EventKeyboard) {
|
||||
switch (event.keyCode) {
|
||||
case KeyCode.KEY_A:
|
||||
case KeyCode.ARROW_LEFT:
|
||||
|
@ -58,4 +87,17 @@ export class TutorialController extends Component {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private onKeyInputUp(event: EventKeyboard) {
|
||||
switch (event.keyCode) {
|
||||
case KeyCode.KEY_A:
|
||||
case KeyCode.ARROW_LEFT:
|
||||
case KeyCode.KEY_D:
|
||||
case KeyCode.ARROW_RIGHT:
|
||||
this.stopTutorial();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,11 +37,13 @@ export class UIController extends Component {
|
|||
EventManger.instance.on(GameEvent.BallOut, this.onBallOut, this);
|
||||
EventManger.instance.on(GameEvent.GameStateChange, this.onGameStateChange, this);
|
||||
EventManger.instance.on(GameEvent.MultiBall, this.onMultiBall, this);
|
||||
EventManger.instance.on(GameEvent.BoosterActive, this.onBoosterActive, this);
|
||||
EventManger.instance.on(GameEvent.BoosterDisable, this.onBoosterDisable, this);
|
||||
EventManger.instance.on(GameEvent.TimeUpdate, this.onTimeUpdate, this);
|
||||
this._eventLabel.string = '';
|
||||
}
|
||||
|
||||
private async onScore(score: number, type: ScoreType) {
|
||||
private async onScore(score: number, points: number, type: ScoreType) {
|
||||
this._scoreLabel.string = `Score: ${score}`;
|
||||
if (type == ScoreType.Goal) {
|
||||
this.showEventLabel('GOAL!!!');
|
||||
|
@ -102,13 +104,19 @@ export class UIController extends Component {
|
|||
|
||||
private onMultiBall(active: boolean) {
|
||||
if (active) {
|
||||
this._buffFx.play();
|
||||
this.showEventLabel('MULTI BALL!!!');
|
||||
} else {
|
||||
this._buffFx.stop();
|
||||
}
|
||||
}
|
||||
|
||||
public onBoosterActive() {
|
||||
this._buffFx.play();
|
||||
this.showEventLabel('BOOSTER NAME!!!');
|
||||
}
|
||||
|
||||
public onBoosterDisable() {
|
||||
this._buffFx.stop();
|
||||
}
|
||||
|
||||
public starGame() {
|
||||
this._tutorialPanel.active = true;
|
||||
this._startPanel.active = false;
|
||||
|
|
After Width: | Height: | Size: 329 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "a6918c93-d0ff-4b8c-8bbe-ed0ad1bc8c09",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "a6918c93-d0ff-4b8c-8bbe-ed0ad1bc8c09@6c48a",
|
||||
"displayName": "Field_logo",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "a6918c93-d0ff-4b8c-8bbe-ed0ad1bc8c09",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "a6918c93-d0ff-4b8c-8bbe-ed0ad1bc8c09@f9941",
|
||||
"displayName": "Field_logo",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0.5,
|
||||
"offsetY": 0,
|
||||
"trimX": 186,
|
||||
"trimY": 200,
|
||||
"width": 1059,
|
||||
"height": 2203,
|
||||
"rawWidth": 1430,
|
||||
"rawHeight": 2603,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-529.5,
|
||||
-1101.5,
|
||||
0,
|
||||
529.5,
|
||||
-1101.5,
|
||||
0,
|
||||
-529.5,
|
||||
1101.5,
|
||||
0,
|
||||
529.5,
|
||||
1101.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
186,
|
||||
2403,
|
||||
1245,
|
||||
2403,
|
||||
186,
|
||||
200,
|
||||
1245,
|
||||
200
|
||||
],
|
||||
"nuv": [
|
||||
0.13006993006993006,
|
||||
0.0768344218209758,
|
||||
0.8706293706293706,
|
||||
0.0768344218209758,
|
||||
0.13006993006993006,
|
||||
0.9231655781790242,
|
||||
0.8706293706293706,
|
||||
0.9231655781790242
|
||||
],
|
||||
"minPos": [
|
||||
-529.5,
|
||||
-1101.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
529.5,
|
||||
1101.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "a6918c93-d0ff-4b8c-8bbe-ed0ad1bc8c09@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "a6918c93-d0ff-4b8c-8bbe-ed0ad1bc8c09@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 28 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "1dddf217-fdc1-41fd-89cf-845ab15b0c28",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "1dddf217-fdc1-41fd-89cf-845ab15b0c28@6c48a",
|
||||
"displayName": "left_thumb",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "1dddf217-fdc1-41fd-89cf-845ab15b0c28",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "1dddf217-fdc1-41fd-89cf-845ab15b0c28@f9941",
|
||||
"displayName": "left_thumb",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 368,
|
||||
"height": 446,
|
||||
"rawWidth": 368,
|
||||
"rawHeight": 446,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-184,
|
||||
-223,
|
||||
0,
|
||||
184,
|
||||
-223,
|
||||
0,
|
||||
-184,
|
||||
223,
|
||||
0,
|
||||
184,
|
||||
223,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
446,
|
||||
368,
|
||||
446,
|
||||
0,
|
||||
0,
|
||||
368,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-184,
|
||||
-223,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
184,
|
||||
223,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "1dddf217-fdc1-41fd-89cf-845ab15b0c28@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "1dddf217-fdc1-41fd-89cf-845ab15b0c28@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 28 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "e6e289e3-a472-4e09-987a-6c3589da2199",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "e6e289e3-a472-4e09-987a-6c3589da2199@6c48a",
|
||||
"displayName": "right_thumb",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "e6e289e3-a472-4e09-987a-6c3589da2199",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "e6e289e3-a472-4e09-987a-6c3589da2199@f9941",
|
||||
"displayName": "right_thumb",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 368,
|
||||
"height": 446,
|
||||
"rawWidth": 368,
|
||||
"rawHeight": 446,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-184,
|
||||
-223,
|
||||
0,
|
||||
184,
|
||||
-223,
|
||||
0,
|
||||
-184,
|
||||
223,
|
||||
0,
|
||||
184,
|
||||
223,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
446,
|
||||
368,
|
||||
446,
|
||||
0,
|
||||
0,
|
||||
368,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-184,
|
||||
-223,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
184,
|
||||
223,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "e6e289e3-a472-4e09-987a-6c3589da2199@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "e6e289e3-a472-4e09-987a-6c3589da2199@f9941"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "6ef2c231-c3cc-4e94-b9dc-a5b3ba2a4b36",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "ffffaaae-4958-4d1d-bc3c-c7e758cc4e2c",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "20a873c1-c140-462f-aafa-fa04e13bf80b",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,283 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.AnimationClip",
|
||||
"_name": "CameraShake",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {
|
||||
"embeddedPlayerGroups": []
|
||||
},
|
||||
"_native": "",
|
||||
"sample": 60,
|
||||
"speed": 1,
|
||||
"wrapMode": 2,
|
||||
"enableTrsBlending": false,
|
||||
"_duration": 0.13333333333333333,
|
||||
"_hash": 500763545,
|
||||
"_tracks": [
|
||||
{
|
||||
"__id__": 1
|
||||
}
|
||||
],
|
||||
"_exoticAnimation": null,
|
||||
"_events": [],
|
||||
"_embeddedPlayers": []
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.VectorTrack",
|
||||
"_binding": {
|
||||
"__type__": "cc.animation.TrackBinding",
|
||||
"path": {
|
||||
"__id__": 2
|
||||
},
|
||||
"proxy": null
|
||||
},
|
||||
"_channels": [
|
||||
{
|
||||
"__id__": 3
|
||||
},
|
||||
{
|
||||
"__id__": 5
|
||||
},
|
||||
{
|
||||
"__id__": 7
|
||||
},
|
||||
{
|
||||
"__id__": 9
|
||||
}
|
||||
],
|
||||
"_nComponents": 3
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.TrackPath",
|
||||
"_paths": [
|
||||
"position"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.03333333333333333,
|
||||
0.08333333333333333,
|
||||
0.13333333333333333
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 3,
|
||||
"rightTangent": -3.0238592624664307,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 1.545461654663086,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -5,
|
||||
"rightTangent": 262.11065673828125,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 262.11065673828125,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -0.02518816478550434,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": -0.6280491948127747,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 6
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.03333333333333333,
|
||||
0.08333333333333333,
|
||||
0.13333333333333333
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 177.6064453125,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 177.6064453125,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 3,
|
||||
"value": -5,
|
||||
"rightTangent": 247.32598876953125,
|
||||
"rightTangentWeight": 23.810287475585938,
|
||||
"leftTangent": 247.32598876953125,
|
||||
"leftTangentWeight": 0.06225259602069855,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 4.8728861808776855,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0.04035128280520439,
|
||||
"rightTangent": 106.99380493164062,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 106.99380493164062,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 8
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.03333333333333333,
|
||||
0.06666666666666667,
|
||||
0.08333333333333333,
|
||||
0.13333333333333333
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1000,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1000,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1000,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1000,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1000,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "2.0.3",
|
||||
"importer": "animation-clip",
|
||||
"imported": true,
|
||||
"uuid": "c812b4e7-55c7-4289-9952-1a5e7cfd4d56",
|
||||
"files": [
|
||||
".cconb"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"name": "CameraShake"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,231 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.AnimationClip",
|
||||
"_name": "Flipper_L_glow",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {
|
||||
"embeddedPlayerGroups": []
|
||||
},
|
||||
"_native": "",
|
||||
"sample": 60,
|
||||
"speed": 1,
|
||||
"wrapMode": 2,
|
||||
"enableTrsBlending": false,
|
||||
"_duration": 0.8333333333333334,
|
||||
"_hash": 500763545,
|
||||
"_tracks": [
|
||||
{
|
||||
"__id__": 1
|
||||
}
|
||||
],
|
||||
"_exoticAnimation": null,
|
||||
"_events": [],
|
||||
"_embeddedPlayers": []
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.VectorTrack",
|
||||
"_binding": {
|
||||
"__type__": "cc.animation.TrackBinding",
|
||||
"path": {
|
||||
"__id__": 2
|
||||
},
|
||||
"proxy": null
|
||||
},
|
||||
"_channels": [
|
||||
{
|
||||
"__id__": 3
|
||||
},
|
||||
{
|
||||
"__id__": 5
|
||||
},
|
||||
{
|
||||
"__id__": 7
|
||||
},
|
||||
{
|
||||
"__id__": 9
|
||||
}
|
||||
],
|
||||
"_nComponents": 3
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.TrackPath",
|
||||
"_paths": [
|
||||
"scale"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.35,
|
||||
0.8333333333333334
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 2,
|
||||
"value": 0.8999999761581421,
|
||||
"rightTangent": 0.03105590119957924,
|
||||
"rightTangentWeight": 0.161077618598938,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 3,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 0.3166666626930237,
|
||||
"leftTangent": 0.03105590119957924,
|
||||
"leftTangentWeight": 0.161077618598938,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 1,
|
||||
"value": 0.8999999761581421,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 0.3166666626930237,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 6
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.35,
|
||||
0.8333333333333334
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0.8999999761581421,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0.8999999761581421,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 8
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.35,
|
||||
0.8333333333333334
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "2.0.3",
|
||||
"importer": "animation-clip",
|
||||
"imported": true,
|
||||
"uuid": "ea989e8b-bd1c-44e4-9c07-b44fe54f1b8b",
|
||||
"files": [
|
||||
".cconb"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"name": "Flipper_L_glow"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "ebe9cfd2-3571-4ff3-8b4d-f335adfb4177",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "a233b277-545b-4ba5-9d42-9ee7da1dd017",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"__type__": "cc.Material",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"_effectAsset": {
|
||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 1,
|
||||
"_defines": [
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "110c1b20-2760-4600-b9fd-6e113ad1a1fe@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"ver":"1.0.20","importer":"material","imported":true,"uuid":"3cdb48d0-f8e9-4756-b6e7-6be5717bc7f3","files":[".json"],"subMetas":{},"userData":{}}
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"__type__": "cc.Material",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"_effectAsset": {
|
||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 1,
|
||||
"_defines": [
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "d6596721-5025-4e65-8d84-32080043a52d@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"ver":"1.0.20","importer":"material","imported":true,"uuid":"ac003b29-5d22-471b-8a9c-2e92c7e40262","files":[".json"],"subMetas":{},"userData":{}}
|
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
"__type__": "cc.Material",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_native": "",
|
||||
"_effectAsset": {
|
||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 1,
|
||||
"_defines": [
|
||||
{},
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "669c7629-e25c-4018-9327-205276a1071a@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
}
|
||||
},
|
||||
{}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.0.20",
|
||||
"importer": "material",
|
||||
"imported": true,
|
||||
"uuid": "7e8b3269-d74a-4398-beb0-8a4f821a17b9",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"__type__": "cc.Material",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"_effectAsset": {
|
||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 0,
|
||||
"_defines": [
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "32427c5b-a57b-4adc-b5de-3c21a30d06a9@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"ver":"1.0.20","importer":"material","imported":true,"uuid":"bfd8bc02-80c4-4383-8516-771a6431e2d6","files":[".json"],"subMetas":{},"userData":{}}
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"__type__": "cc.Material",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"_effectAsset": {
|
||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 1,
|
||||
"_defines": [
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "d32ad627-39f1-48d7-89e4-9532c2d284e0@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"ver":"1.0.20","importer":"material","imported":true,"uuid":"b9d46c72-4da8-4cf2-83eb-c5a69782f8d6","files":[".json"],"subMetas":{},"userData":{}}
|
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
"__type__": "cc.Material",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_native": "",
|
||||
"_effectAsset": {
|
||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 1,
|
||||
"_defines": [
|
||||
{},
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "efb01e8b-2cb1-499e-bf68-42a810f22ef0@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
}
|
||||
},
|
||||
{}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.0.20",
|
||||
"importer": "material",
|
||||
"imported": true,
|
||||
"uuid": "ae8ffc39-ed35-4990-9d88-e4d477d31c67",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"__type__": "cc.Material",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"_effectAsset": {
|
||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 0,
|
||||
"_defines": [
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "5fe8debf-af04-4112-b7be-5f13df297d04@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"ver":"1.0.20","importer":"material","imported":true,"uuid":"29df406c-6b44-4101-bc02-07386e09059f","files":[".json"],"subMetas":{},"userData":{}}
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"__type__": "cc.Material",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"_effectAsset": {
|
||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 0,
|
||||
"_defines": [
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "435cbd16-621a-4d9d-84e9-834d9e388b3a@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"ver":"1.0.20","importer":"material","imported":true,"uuid":"5e4d56ac-5f20-42d8-8dee-7e2b491eaad6","files":[".json"],"subMetas":{},"userData":{}}
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"__type__": "cc.Material",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"_effectAsset": {
|
||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 1,
|
||||
"_defines": [
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "2a038be3-959b-404f-80ac-2c1223a1db30@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.0.20",
|
||||
"importer": "material",
|
||||
"imported": true,
|
||||
"uuid": "d51b6d9d-3cc4-42fc-81b8-83cd6b964956",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "62b831dd-0b8c-4ffc-a685-1e5b5661454b",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "d4b596d2-38eb-4cd2-8462-feb128efc00e",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Impact Particle",
|
||||
"_name": "Buff_Particle",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"data": {
|
||||
|
@ -12,7 +12,7 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Impact Particle",
|
||||
"_name": "Buff_Particle",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
|
@ -23,20 +23,20 @@
|
|||
"__id__": 2
|
||||
},
|
||||
{
|
||||
"__id__": 4
|
||||
"__id__": 64
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
"__id__": 66
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 65
|
||||
"__id__": 68
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
"z": 10
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
|
@ -47,8 +47,8 @@
|
|||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 50,
|
||||
"y": 50,
|
||||
"x": 10,
|
||||
"y": 10,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
|
@ -62,7 +62,7 @@
|
|||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UIMeshRenderer",
|
||||
"__type__": "cc.ParticleSystem",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
|
@ -72,162 +72,114 @@
|
|||
"__prefab": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "d7vlREn21O3pz+rhwBsmvE"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 5
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 1,
|
||||
"height": 1
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "14sgflQQxL3L23o+Yc4Phx"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ParticleSystem",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 7
|
||||
},
|
||||
"_materials": [
|
||||
{
|
||||
"__uuid__": "9aa5d037-ec4c-4f5a-9513-4a423d576110",
|
||||
"__uuid__": "989f9732-56aa-468a-9c87-d59761501c3e",
|
||||
"__expectedType__": "cc.Material"
|
||||
}
|
||||
],
|
||||
"_visFlags": 0,
|
||||
"startColor": {
|
||||
"__id__": 8
|
||||
"__id__": 4
|
||||
},
|
||||
"scaleSpace": 1,
|
||||
"startSize3D": false,
|
||||
"startSizeX": {
|
||||
"__id__": 9
|
||||
"__id__": 5
|
||||
},
|
||||
"startSize": {
|
||||
"__id__": 9
|
||||
"__id__": 5
|
||||
},
|
||||
"startSizeY": {
|
||||
"__id__": 10
|
||||
"__id__": 6
|
||||
},
|
||||
"startSizeZ": {
|
||||
"__id__": 11
|
||||
"__id__": 7
|
||||
},
|
||||
"startSpeed": {
|
||||
"__id__": 12
|
||||
"__id__": 8
|
||||
},
|
||||
"startRotation3D": false,
|
||||
"startRotationX": {
|
||||
"__id__": 13
|
||||
"__id__": 9
|
||||
},
|
||||
"startRotationY": {
|
||||
"__id__": 14
|
||||
"__id__": 10
|
||||
},
|
||||
"startRotationZ": {
|
||||
"__id__": 15
|
||||
"__id__": 11
|
||||
},
|
||||
"startRotation": {
|
||||
"__id__": 15
|
||||
"__id__": 11
|
||||
},
|
||||
"startDelay": {
|
||||
"__id__": 16
|
||||
"__id__": 12
|
||||
},
|
||||
"startLifetime": {
|
||||
"__id__": 17
|
||||
"__id__": 13
|
||||
},
|
||||
"duration": 1,
|
||||
"loop": false,
|
||||
"duration": 5,
|
||||
"loop": true,
|
||||
"simulationSpeed": 1,
|
||||
"playOnAwake": false,
|
||||
"gravityModifier": {
|
||||
"__id__": 18
|
||||
"__id__": 14
|
||||
},
|
||||
"rateOverTime": {
|
||||
"__id__": 19
|
||||
"__id__": 15
|
||||
},
|
||||
"rateOverDistance": {
|
||||
"__id__": 20
|
||||
"__id__": 16
|
||||
},
|
||||
"bursts": [
|
||||
{
|
||||
"__id__": 21
|
||||
}
|
||||
],
|
||||
"bursts": [],
|
||||
"_renderCulling": false,
|
||||
"_cullingMode": 0,
|
||||
"_aabbHalfX": 0,
|
||||
"_aabbHalfY": 0,
|
||||
"_aabbHalfZ": 0,
|
||||
"_cullingMode": 1,
|
||||
"_aabbHalfX": 15.480704262604377,
|
||||
"_aabbHalfY": 15.47013261447455,
|
||||
"_aabbHalfZ": 2.249856228336765,
|
||||
"_dataCulling": false,
|
||||
"enableCulling": false,
|
||||
"_colorOverLifetimeModule": {
|
||||
"__id__": 23
|
||||
"__id__": 17
|
||||
},
|
||||
"_shapeModule": {
|
||||
"__id__": 28
|
||||
"__id__": 27
|
||||
},
|
||||
"_sizeOvertimeModule": {
|
||||
"__id__": 30
|
||||
"__id__": 29
|
||||
},
|
||||
"_velocityOvertimeModule": {
|
||||
"__id__": 36
|
||||
"__id__": 35
|
||||
},
|
||||
"_forceOvertimeModule": {
|
||||
"__id__": 41
|
||||
"__id__": 40
|
||||
},
|
||||
"_limitVelocityOvertimeModule": {
|
||||
"__id__": 45
|
||||
"__id__": 44
|
||||
},
|
||||
"_rotationOvertimeModule": {
|
||||
"__id__": 50
|
||||
"__id__": 49
|
||||
},
|
||||
"_textureAnimationModule": {
|
||||
"__id__": 54
|
||||
"__id__": 53
|
||||
},
|
||||
"_noiseModule": {
|
||||
"__id__": 58
|
||||
"__id__": 57
|
||||
},
|
||||
"_trailModule": {
|
||||
"__id__": 59
|
||||
"__id__": 58
|
||||
},
|
||||
"renderer": {
|
||||
"__id__": 64
|
||||
"__id__": 63
|
||||
},
|
||||
"_prewarm": false,
|
||||
"_capacity": 100,
|
||||
"_simulationSpace": 1,
|
||||
"_simulationSpace": 0,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "e5RR/Euk5E1aiVQtB8bWtU"
|
||||
"fileId": "e7RGndsM1GC5BOylb+tbsg"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
|
@ -242,8 +194,9 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1.5,
|
||||
"mode": 3,
|
||||
"constantMin": 0.5,
|
||||
"constantMax": 4,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
|
@ -260,8 +213,9 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 5,
|
||||
"mode": 3,
|
||||
"constantMin": 2.2,
|
||||
"constantMax": 5,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
|
@ -278,8 +232,9 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"mode": 3,
|
||||
"constantMin": 0,
|
||||
"constantMax": 6.283185307179586,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
|
@ -288,98 +243,142 @@
|
|||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0.2,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Burst",
|
||||
"_time": 0,
|
||||
"_repeatCount": 1,
|
||||
"repeatInterval": 0.01,
|
||||
"count": {
|
||||
"__id__": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 15,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorOvertimeModule",
|
||||
"_enable": false,
|
||||
"_enable": true,
|
||||
"color": {
|
||||
"__id__": 24
|
||||
"__id__": 18
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 1,
|
||||
"gradient": {
|
||||
"__id__": 25
|
||||
"__id__": 19
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Gradient",
|
||||
"colorKeys": [],
|
||||
"alphaKeys": [
|
||||
"colorKeys": [
|
||||
{
|
||||
"__id__": 26
|
||||
"__id__": 20
|
||||
},
|
||||
{
|
||||
"__id__": 27
|
||||
"__id__": 21
|
||||
},
|
||||
{
|
||||
"__id__": 22
|
||||
}
|
||||
],
|
||||
"alphaKeys": [
|
||||
{
|
||||
"__id__": 23
|
||||
},
|
||||
{
|
||||
"__id__": 24
|
||||
},
|
||||
{
|
||||
"__id__": 25
|
||||
},
|
||||
{
|
||||
"__id__": 26
|
||||
}
|
||||
],
|
||||
"mode": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorKey",
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 201,
|
||||
"g": 206,
|
||||
"b": 144,
|
||||
"a": 255
|
||||
},
|
||||
"time": 0.16294642857142858
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorKey",
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 0,
|
||||
"b": 0,
|
||||
"a": 255
|
||||
},
|
||||
"time": 0.45535714285714285
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorKey",
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 235,
|
||||
"g": 255,
|
||||
"b": 0,
|
||||
"a": 255
|
||||
},
|
||||
"time": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 255,
|
||||
"alpha": 0,
|
||||
"time": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 100,
|
||||
"alpha": 255,
|
||||
"time": 0.28125
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 255,
|
||||
"time": 0.7589285714285715
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 0,
|
||||
"time": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ShapeModule",
|
||||
"_enable": false,
|
||||
"_shapeType": 2,
|
||||
"shapeType": 2,
|
||||
"emitFrom": 0,
|
||||
"_enable": true,
|
||||
"_shapeType": 1,
|
||||
"shapeType": 1,
|
||||
"emitFrom": 3,
|
||||
"alignToDirection": false,
|
||||
"randomDirectionAmount": 0,
|
||||
"sphericalDirectionAmount": 0,
|
||||
"randomPositionAmount": 0,
|
||||
"radius": 1,
|
||||
"radius": 4,
|
||||
"radiusThickness": 1,
|
||||
"arcMode": 0,
|
||||
"arcSpread": 0,
|
||||
"arcSpeed": {
|
||||
"__id__": 29
|
||||
"__id__": 28
|
||||
},
|
||||
"length": 5,
|
||||
"boxThickness": {
|
||||
|
@ -420,23 +419,23 @@
|
|||
"_enable": true,
|
||||
"separateAxes": false,
|
||||
"size": {
|
||||
"__id__": 31
|
||||
"__id__": 30
|
||||
},
|
||||
"x": {
|
||||
"__id__": 33
|
||||
"__id__": 32
|
||||
},
|
||||
"y": {
|
||||
"__id__": 34
|
||||
"__id__": 33
|
||||
},
|
||||
"z": {
|
||||
"__id__": 35
|
||||
"__id__": 34
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 1,
|
||||
"spline": {
|
||||
"__id__": 32
|
||||
"__id__": 31
|
||||
},
|
||||
"multiplier": 1
|
||||
},
|
||||
|
@ -444,6 +443,7 @@
|
|||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.4512820512820513,
|
||||
1
|
||||
],
|
||||
"_values": [
|
||||
|
@ -452,9 +452,9 @@
|
|||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 0,
|
||||
"rightTangent": 6.901234567901234,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangent": 6.901234567901234,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
|
@ -463,10 +463,22 @@
|
|||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"value": 0.9814814814814815,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 0,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": -0.9388888888888892,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": -0.9388888888888892,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
|
@ -497,16 +509,16 @@
|
|||
"__type__": "cc.VelocityOvertimeModule",
|
||||
"_enable": false,
|
||||
"x": {
|
||||
"__id__": 37
|
||||
"__id__": 36
|
||||
},
|
||||
"y": {
|
||||
"__id__": 38
|
||||
"__id__": 37
|
||||
},
|
||||
"z": {
|
||||
"__id__": 39
|
||||
"__id__": 38
|
||||
},
|
||||
"speedModifier": {
|
||||
"__id__": 40
|
||||
"__id__": 39
|
||||
},
|
||||
"space": 1
|
||||
},
|
||||
|
@ -538,13 +550,13 @@
|
|||
"__type__": "cc.ForceOvertimeModule",
|
||||
"_enable": false,
|
||||
"x": {
|
||||
"__id__": 42
|
||||
"__id__": 41
|
||||
},
|
||||
"y": {
|
||||
"__id__": 43
|
||||
"__id__": 42
|
||||
},
|
||||
"z": {
|
||||
"__id__": 44
|
||||
"__id__": 43
|
||||
},
|
||||
"space": 1
|
||||
},
|
||||
|
@ -570,16 +582,16 @@
|
|||
"__type__": "cc.LimitVelocityOvertimeModule",
|
||||
"_enable": false,
|
||||
"limitX": {
|
||||
"__id__": 46
|
||||
"__id__": 45
|
||||
},
|
||||
"limitY": {
|
||||
"__id__": 47
|
||||
"__id__": 46
|
||||
},
|
||||
"limitZ": {
|
||||
"__id__": 48
|
||||
"__id__": 47
|
||||
},
|
||||
"limit": {
|
||||
"__id__": 49
|
||||
"__id__": 48
|
||||
},
|
||||
"dampen": 3,
|
||||
"separateAxes": false,
|
||||
|
@ -611,16 +623,16 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.RotationOvertimeModule",
|
||||
"_enable": false,
|
||||
"_enable": true,
|
||||
"_separateAxes": false,
|
||||
"x": {
|
||||
"__id__": 51
|
||||
"__id__": 50
|
||||
},
|
||||
"y": {
|
||||
"__id__": 52
|
||||
"__id__": 51
|
||||
},
|
||||
"z": {
|
||||
"__id__": 53
|
||||
"__id__": 52
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -637,8 +649,9 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"mode": 3,
|
||||
"constantMin": -6.283185307179586,
|
||||
"constantMax": 0.10966226576191991,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
|
@ -651,10 +664,10 @@
|
|||
"_mode": 0,
|
||||
"animation": 0,
|
||||
"frameOverTime": {
|
||||
"__id__": 55
|
||||
"__id__": 54
|
||||
},
|
||||
"startFrame": {
|
||||
"__id__": 57
|
||||
"__id__": 56
|
||||
},
|
||||
"cycleCount": 0,
|
||||
"_flipU": 0,
|
||||
|
@ -667,7 +680,7 @@
|
|||
"__type__": "cc.CurveRange",
|
||||
"mode": 1,
|
||||
"spline": {
|
||||
"__id__": 56
|
||||
"__id__": 55
|
||||
},
|
||||
"multiplier": 1
|
||||
},
|
||||
|
@ -734,25 +747,25 @@
|
|||
"_enable": false,
|
||||
"mode": 0,
|
||||
"lifeTime": {
|
||||
"__id__": 60
|
||||
"__id__": 59
|
||||
},
|
||||
"_minParticleDistance": 0.1,
|
||||
"existWithParticles": true,
|
||||
"textureMode": 0,
|
||||
"widthFromParticle": true,
|
||||
"widthRatio": {
|
||||
"__id__": 61
|
||||
"__id__": 60
|
||||
},
|
||||
"colorFromParticle": false,
|
||||
"colorOverTrail": {
|
||||
"__id__": 62
|
||||
"__id__": 61
|
||||
},
|
||||
"colorOvertime": {
|
||||
"__id__": 63
|
||||
"__id__": 62
|
||||
},
|
||||
"_space": 0,
|
||||
"_particleSystem": {
|
||||
"__id__": 6
|
||||
"__id__": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -791,22 +804,66 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.ParticleSystemRenderer",
|
||||
"_renderMode": 3,
|
||||
"_renderMode": 0,
|
||||
"_velocityScale": 1,
|
||||
"_lengthScale": 1,
|
||||
"_mesh": null,
|
||||
"_cpuMaterial": {
|
||||
"__uuid__": "9aa5d037-ec4c-4f5a-9513-4a423d576110",
|
||||
"__uuid__": "989f9732-56aa-468a-9c87-d59761501c3e",
|
||||
"__expectedType__": "cc.Material"
|
||||
},
|
||||
"_gpuMaterial": null,
|
||||
"_mainTexture": {
|
||||
"__uuid__": "55cef4ac-5e35-45d5-90f5-b50f6dcefca7@6c48a",
|
||||
"__uuid__": "435cbd16-621a-4d9d-84e9-834d9e388b3a@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
},
|
||||
"_useGPU": false,
|
||||
"_alignSpace": 2
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UIMeshRenderer",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 65
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "55Jcvslq5CSpd3YHi88v3P"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 67
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 100,
|
||||
"height": 100
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "e2Z+/Z8OFKd7lewPEaVD2r"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
|
@ -815,7 +872,7 @@
|
|||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "02Cq1VgJZE6L0Djr0XraDM",
|
||||
"fileId": "67xZ2cRkJFAr/RCUJZ4Wsx",
|
||||
"instance": null,
|
||||
"targetOverrides": null
|
||||
}
|
|
@ -2,12 +2,12 @@
|
|||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "c7549312-ab7b-4974-8863-1a55c119c34f",
|
||||
"uuid": "e14fcc1f-f971-42d3-9b4c-b18518610c85",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Buff Particle"
|
||||
"syncNodeName": "Buff_Particle"
|
||||
}
|
||||
}
|
|
@ -2,12 +2,12 @@
|
|||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "e4f226d3-8b68-42b8-8bf0-490b8d5765c4",
|
||||
"uuid": "246eb0a7-6e50-4bf0-8025-3edde8adaefe",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Impact Particle"
|
||||
"syncNodeName": "EffectX2"
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Goal Particle",
|
||||
"_name": "Goal Particle-001",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"data": {
|
||||
|
@ -12,7 +12,7 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Goal Particle",
|
||||
"_name": "Goal Particle-001",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
|
@ -30,7 +30,7 @@
|
|||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 66
|
||||
"__id__": 60
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
|
@ -129,55 +129,55 @@
|
|||
"scaleSpace": 1,
|
||||
"startSize3D": true,
|
||||
"startSizeX": {
|
||||
"__id__": 14
|
||||
"__id__": 9
|
||||
},
|
||||
"startSize": {
|
||||
"__id__": 14
|
||||
"__id__": 9
|
||||
},
|
||||
"startSizeY": {
|
||||
"__id__": 15
|
||||
"__id__": 10
|
||||
},
|
||||
"startSizeZ": {
|
||||
"__id__": 16
|
||||
"__id__": 11
|
||||
},
|
||||
"startSpeed": {
|
||||
"__id__": 17
|
||||
"__id__": 12
|
||||
},
|
||||
"startRotation3D": true,
|
||||
"startRotationX": {
|
||||
"__id__": 18
|
||||
"__id__": 13
|
||||
},
|
||||
"startRotationY": {
|
||||
"__id__": 19
|
||||
"__id__": 14
|
||||
},
|
||||
"startRotationZ": {
|
||||
"__id__": 20
|
||||
"__id__": 15
|
||||
},
|
||||
"startRotation": {
|
||||
"__id__": 20
|
||||
"__id__": 15
|
||||
},
|
||||
"startDelay": {
|
||||
"__id__": 21
|
||||
"__id__": 16
|
||||
},
|
||||
"startLifetime": {
|
||||
"__id__": 22
|
||||
"__id__": 17
|
||||
},
|
||||
"duration": 1.5,
|
||||
"loop": false,
|
||||
"simulationSpeed": 1,
|
||||
"playOnAwake": false,
|
||||
"gravityModifier": {
|
||||
"__id__": 23
|
||||
"__id__": 18
|
||||
},
|
||||
"rateOverTime": {
|
||||
"__id__": 24
|
||||
"__id__": 19
|
||||
},
|
||||
"rateOverDistance": {
|
||||
"__id__": 25
|
||||
"__id__": 20
|
||||
},
|
||||
"bursts": [
|
||||
{
|
||||
"__id__": 26
|
||||
"__id__": 21
|
||||
}
|
||||
],
|
||||
"_renderCulling": false,
|
||||
|
@ -188,37 +188,37 @@
|
|||
"_dataCulling": false,
|
||||
"enableCulling": false,
|
||||
"_colorOverLifetimeModule": {
|
||||
"__id__": 28
|
||||
"__id__": 23
|
||||
},
|
||||
"_shapeModule": {
|
||||
"__id__": 30
|
||||
"__id__": 25
|
||||
},
|
||||
"_sizeOvertimeModule": {
|
||||
"__id__": 32
|
||||
"__id__": 27
|
||||
},
|
||||
"_velocityOvertimeModule": {
|
||||
"__id__": 37
|
||||
"__id__": 32
|
||||
},
|
||||
"_forceOvertimeModule": {
|
||||
"__id__": 42
|
||||
"__id__": 37
|
||||
},
|
||||
"_limitVelocityOvertimeModule": {
|
||||
"__id__": 46
|
||||
"__id__": 41
|
||||
},
|
||||
"_rotationOvertimeModule": {
|
||||
"__id__": 51
|
||||
"__id__": 46
|
||||
},
|
||||
"_textureAnimationModule": {
|
||||
"__id__": 55
|
||||
"__id__": 50
|
||||
},
|
||||
"_noiseModule": {
|
||||
"__id__": 59
|
||||
"__id__": 53
|
||||
},
|
||||
"_trailModule": {
|
||||
"__id__": 60
|
||||
"__id__": 54
|
||||
},
|
||||
"renderer": {
|
||||
"__id__": 65
|
||||
"__id__": 59
|
||||
},
|
||||
"_prewarm": false,
|
||||
"_capacity": 100,
|
||||
|
@ -231,68 +231,14 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 4,
|
||||
"gradient": {
|
||||
"__id__": 9
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Gradient",
|
||||
"colorKeys": [
|
||||
{
|
||||
"__id__": 10
|
||||
},
|
||||
{
|
||||
"__id__": 11
|
||||
},
|
||||
{
|
||||
"__id__": 12
|
||||
}
|
||||
],
|
||||
"alphaKeys": [
|
||||
{
|
||||
"__id__": 13
|
||||
}
|
||||
],
|
||||
"mode": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorKey",
|
||||
"_mode": 0,
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 0,
|
||||
"b": 0,
|
||||
"a": 255
|
||||
},
|
||||
"time": 0.25
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorKey",
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 0,
|
||||
"g": 255,
|
||||
"b": 51,
|
||||
"a": 255
|
||||
},
|
||||
"time": 0.5
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorKey",
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 0,
|
||||
"g": 173,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"time": 0.75
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 255,
|
||||
"time": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
|
@ -379,7 +325,7 @@
|
|||
"_repeatCount": 1,
|
||||
"repeatInterval": 0.01,
|
||||
"count": {
|
||||
"__id__": 27
|
||||
"__id__": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -392,7 +338,7 @@
|
|||
"__type__": "cc.ColorOvertimeModule",
|
||||
"_enable": false,
|
||||
"color": {
|
||||
"__id__": 29
|
||||
"__id__": 24
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -409,8 +355,8 @@
|
|||
{
|
||||
"__type__": "cc.ShapeModule",
|
||||
"_enable": true,
|
||||
"_shapeType": 4,
|
||||
"shapeType": 4,
|
||||
"_shapeType": 3,
|
||||
"shapeType": 3,
|
||||
"emitFrom": 3,
|
||||
"alignToDirection": false,
|
||||
"randomDirectionAmount": 0,
|
||||
|
@ -421,7 +367,7 @@
|
|||
"arcMode": 0,
|
||||
"arcSpread": 0,
|
||||
"arcSpeed": {
|
||||
"__id__": 31
|
||||
"__id__": 26
|
||||
},
|
||||
"length": 5,
|
||||
"boxThickness": {
|
||||
|
@ -462,16 +408,16 @@
|
|||
"_enable": false,
|
||||
"separateAxes": false,
|
||||
"size": {
|
||||
"__id__": 33
|
||||
"__id__": 28
|
||||
},
|
||||
"x": {
|
||||
"__id__": 34
|
||||
"__id__": 29
|
||||
},
|
||||
"y": {
|
||||
"__id__": 35
|
||||
"__id__": 30
|
||||
},
|
||||
"z": {
|
||||
"__id__": 36
|
||||
"__id__": 31
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -502,16 +448,16 @@
|
|||
"__type__": "cc.VelocityOvertimeModule",
|
||||
"_enable": true,
|
||||
"x": {
|
||||
"__id__": 38
|
||||
"__id__": 33
|
||||
},
|
||||
"y": {
|
||||
"__id__": 39
|
||||
"__id__": 34
|
||||
},
|
||||
"z": {
|
||||
"__id__": 40
|
||||
"__id__": 35
|
||||
},
|
||||
"speedModifier": {
|
||||
"__id__": 41
|
||||
"__id__": 36
|
||||
},
|
||||
"space": 1
|
||||
},
|
||||
|
@ -543,13 +489,13 @@
|
|||
"__type__": "cc.ForceOvertimeModule",
|
||||
"_enable": false,
|
||||
"x": {
|
||||
"__id__": 43
|
||||
"__id__": 38
|
||||
},
|
||||
"y": {
|
||||
"__id__": 44
|
||||
"__id__": 39
|
||||
},
|
||||
"z": {
|
||||
"__id__": 45
|
||||
"__id__": 40
|
||||
},
|
||||
"space": 1
|
||||
},
|
||||
|
@ -575,16 +521,16 @@
|
|||
"__type__": "cc.LimitVelocityOvertimeModule",
|
||||
"_enable": false,
|
||||
"limitX": {
|
||||
"__id__": 47
|
||||
"__id__": 42
|
||||
},
|
||||
"limitY": {
|
||||
"__id__": 48
|
||||
"__id__": 43
|
||||
},
|
||||
"limitZ": {
|
||||
"__id__": 49
|
||||
"__id__": 44
|
||||
},
|
||||
"limit": {
|
||||
"__id__": 50
|
||||
"__id__": 45
|
||||
},
|
||||
"dampen": 3,
|
||||
"separateAxes": false,
|
||||
|
@ -616,16 +562,16 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.RotationOvertimeModule",
|
||||
"_enable": true,
|
||||
"_enable": false,
|
||||
"_separateAxes": true,
|
||||
"x": {
|
||||
"__id__": 52
|
||||
"__id__": 47
|
||||
},
|
||||
"y": {
|
||||
"__id__": 53
|
||||
"__id__": 48
|
||||
},
|
||||
"z": {
|
||||
"__id__": 54
|
||||
"__id__": 49
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -651,20 +597,20 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.TextureAnimationModule",
|
||||
"_enable": false,
|
||||
"_numTilesX": 0,
|
||||
"numTilesX": 0,
|
||||
"_numTilesY": 0,
|
||||
"numTilesY": 0,
|
||||
"_enable": true,
|
||||
"_numTilesX": 3,
|
||||
"numTilesX": 3,
|
||||
"_numTilesY": 3,
|
||||
"numTilesY": 3,
|
||||
"_mode": 0,
|
||||
"animation": 0,
|
||||
"frameOverTime": {
|
||||
"__id__": 56
|
||||
"__id__": 51
|
||||
},
|
||||
"startFrame": {
|
||||
"__id__": 58
|
||||
"__id__": 52
|
||||
},
|
||||
"cycleCount": 0,
|
||||
"cycleCount": 1,
|
||||
"_flipU": 0,
|
||||
"_flipV": 0,
|
||||
"_uvChannelMask": -1,
|
||||
|
@ -673,47 +619,11 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 1,
|
||||
"spline": {
|
||||
"__id__": 57
|
||||
},
|
||||
"mode": 3,
|
||||
"constantMin": 0,
|
||||
"constantMax": 9,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 0,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 0,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
|
@ -742,21 +652,21 @@
|
|||
"_enable": false,
|
||||
"mode": 0,
|
||||
"lifeTime": {
|
||||
"__id__": 61
|
||||
"__id__": 55
|
||||
},
|
||||
"_minParticleDistance": 0.1,
|
||||
"existWithParticles": true,
|
||||
"textureMode": 0,
|
||||
"widthFromParticle": true,
|
||||
"widthRatio": {
|
||||
"__id__": 62
|
||||
"__id__": 56
|
||||
},
|
||||
"colorFromParticle": false,
|
||||
"colorOverTrail": {
|
||||
"__id__": 63
|
||||
"__id__": 57
|
||||
},
|
||||
"colorOvertime": {
|
||||
"__id__": 64
|
||||
"__id__": 58
|
||||
},
|
||||
"_space": 0,
|
||||
"_particleSystem": {
|
||||
|
@ -808,7 +718,10 @@
|
|||
"__expectedType__": "cc.Material"
|
||||
},
|
||||
"_gpuMaterial": null,
|
||||
"_mainTexture": null,
|
||||
"_mainTexture": {
|
||||
"__uuid__": "2a038be3-959b-404f-80ac-2c1223a1db30@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
},
|
||||
"_useGPU": false,
|
||||
"_alignSpace": 2
|
||||
},
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "cd5f9bbe-5a25-4a39-9632-20ca07a4d067",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Goal Particle-001"
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "f54a7c19-37d5-4255-9336-f6df0e956be7",
|
||||
"uuid": "e96204d7-e516-46d5-8e80-f1f5fda61677",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "018b85ed-f07a-4f26-b29c-7c3eb28cc634",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Impact Particle-001"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "c5e75294-5ee5-4e7a-8192-d1655a94811e",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "PorttEffect"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "7afbc379-62e2-4721-b6d4-be47b00b6db2",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Smoke"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "f6a1c4a1-bf0b-40b2-8b18-6443ae8021d0",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Trail"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "65ac0d84-803c-4033-a26d-d045b44256b2",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "fire"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "bdbd3f6f-8890-4398-a4d0-1817c5254f17",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "da08b45c-8fb6-4efb-84eb-fabed619fc15",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 12 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "f2a0ff7a-47a7-4b3d-b249-43148476d1da",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "f2a0ff7a-47a7-4b3d-b249-43148476d1da@6c48a",
|
||||
"displayName": "Flipper_L_glow",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "f2a0ff7a-47a7-4b3d-b249-43148476d1da",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "f2a0ff7a-47a7-4b3d-b249-43148476d1da@f9941",
|
||||
"displayName": "Flipper_L_glow",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0.5,
|
||||
"trimX": 4,
|
||||
"trimY": 17,
|
||||
"width": 248,
|
||||
"height": 221,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-124,
|
||||
-110.5,
|
||||
0,
|
||||
124,
|
||||
-110.5,
|
||||
0,
|
||||
-124,
|
||||
110.5,
|
||||
0,
|
||||
124,
|
||||
110.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
4,
|
||||
239,
|
||||
252,
|
||||
239,
|
||||
4,
|
||||
18,
|
||||
252,
|
||||
18
|
||||
],
|
||||
"nuv": [
|
||||
0.015625,
|
||||
0.0703125,
|
||||
0.984375,
|
||||
0.0703125,
|
||||
0.015625,
|
||||
0.93359375,
|
||||
0.984375,
|
||||
0.93359375
|
||||
],
|
||||
"minPos": [
|
||||
-124,
|
||||
-110.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
124,
|
||||
110.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "f2a0ff7a-47a7-4b3d-b249-43148476d1da@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "f2a0ff7a-47a7-4b3d-b249-43148476d1da@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 860 B |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "32427c5b-a57b-4adc-b5de-3c21a30d06a9",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "32427c5b-a57b-4adc-b5de-3c21a30d06a9@6c48a",
|
||||
"displayName": "atom",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "32427c5b-a57b-4adc-b5de-3c21a30d06a9",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "32427c5b-a57b-4adc-b5de-3c21a30d06a9@f9941",
|
||||
"displayName": "atom",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 31,
|
||||
"height": 31,
|
||||
"rawWidth": 31,
|
||||
"rawHeight": 31,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-15.5,
|
||||
-15.5,
|
||||
0,
|
||||
15.5,
|
||||
-15.5,
|
||||
0,
|
||||
-15.5,
|
||||
15.5,
|
||||
0,
|
||||
15.5,
|
||||
15.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
31,
|
||||
31,
|
||||
31,
|
||||
0,
|
||||
0,
|
||||
31,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-15.5,
|
||||
-15.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
15.5,
|
||||
15.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "32427c5b-a57b-4adc-b5de-3c21a30d06a9@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "32427c5b-a57b-4adc-b5de-3c21a30d06a9@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 6.3 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "e8c8eb8b-f38a-4906-9e03-327caf2c18c7",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "e8c8eb8b-f38a-4906-9e03-327caf2c18c7@6c48a",
|
||||
"displayName": "circle",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "e8c8eb8b-f38a-4906-9e03-327caf2c18c7",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "e8c8eb8b-f38a-4906-9e03-327caf2c18c7@f9941",
|
||||
"displayName": "circle",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": -2,
|
||||
"trimX": 14,
|
||||
"trimY": 16,
|
||||
"width": 228,
|
||||
"height": 228,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-114,
|
||||
-114,
|
||||
0,
|
||||
114,
|
||||
-114,
|
||||
0,
|
||||
-114,
|
||||
114,
|
||||
0,
|
||||
114,
|
||||
114,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
14,
|
||||
240,
|
||||
242,
|
||||
240,
|
||||
14,
|
||||
12,
|
||||
242,
|
||||
12
|
||||
],
|
||||
"nuv": [
|
||||
0.0546875,
|
||||
0.046875,
|
||||
0.9453125,
|
||||
0.046875,
|
||||
0.0546875,
|
||||
0.9375,
|
||||
0.9453125,
|
||||
0.9375
|
||||
],
|
||||
"minPos": [
|
||||
-114,
|
||||
-114,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
114,
|
||||
114,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "e8c8eb8b-f38a-4906-9e03-327caf2c18c7@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "e8c8eb8b-f38a-4906-9e03-327caf2c18c7@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 25 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "110c1b20-2760-4600-b9fd-6e113ad1a1fe",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "110c1b20-2760-4600-b9fd-6e113ad1a1fe@6c48a",
|
||||
"displayName": "cloud_2x2_hardshadow",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "110c1b20-2760-4600-b9fd-6e113ad1a1fe",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "110c1b20-2760-4600-b9fd-6e113ad1a1fe@f9941",
|
||||
"displayName": "cloud_2x2_hardshadow",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": -6.5,
|
||||
"offsetY": 10.5,
|
||||
"trimX": 40,
|
||||
"trimY": 34,
|
||||
"width": 419,
|
||||
"height": 423,
|
||||
"rawWidth": 512,
|
||||
"rawHeight": 512,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-209.5,
|
||||
-211.5,
|
||||
0,
|
||||
209.5,
|
||||
-211.5,
|
||||
0,
|
||||
-209.5,
|
||||
211.5,
|
||||
0,
|
||||
209.5,
|
||||
211.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
40,
|
||||
478,
|
||||
459,
|
||||
478,
|
||||
40,
|
||||
55,
|
||||
459,
|
||||
55
|
||||
],
|
||||
"nuv": [
|
||||
0.078125,
|
||||
0.107421875,
|
||||
0.896484375,
|
||||
0.107421875,
|
||||
0.078125,
|
||||
0.93359375,
|
||||
0.896484375,
|
||||
0.93359375
|
||||
],
|
||||
"minPos": [
|
||||
-209.5,
|
||||
-211.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
209.5,
|
||||
211.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "110c1b20-2760-4600-b9fd-6e113ad1a1fe@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "110c1b20-2760-4600-b9fd-6e113ad1a1fe@f9941"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 176 KiB |