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",
|
"__type__": "cc.RealKeyframeValue",
|
||||||
"interpolationMode": 0,
|
"interpolationMode": 0,
|
||||||
"tangentWeightMode": 0,
|
"tangentWeightMode": 0,
|
||||||
"value": 1.3,
|
"value": 1.2999999523162842,
|
||||||
"rightTangent": 0,
|
"rightTangent": 0,
|
||||||
"rightTangentWeight": 1,
|
"rightTangentWeight": 1,
|
||||||
"leftTangent": 0,
|
"leftTangent": 0,
|
||||||
|
@ -93,7 +93,7 @@
|
||||||
"__type__": "cc.RealKeyframeValue",
|
"__type__": "cc.RealKeyframeValue",
|
||||||
"interpolationMode": 0,
|
"interpolationMode": 0,
|
||||||
"tangentWeightMode": 0,
|
"tangentWeightMode": 0,
|
||||||
"value": 0.7,
|
"value": 0.699999988079071,
|
||||||
"rightTangent": 0,
|
"rightTangent": 0,
|
||||||
"rightTangentWeight": 1,
|
"rightTangentWeight": 1,
|
||||||
"leftTangent": 0,
|
"leftTangent": 0,
|
||||||
|
@ -135,7 +135,7 @@
|
||||||
"__type__": "cc.RealKeyframeValue",
|
"__type__": "cc.RealKeyframeValue",
|
||||||
"interpolationMode": 0,
|
"interpolationMode": 0,
|
||||||
"tangentWeightMode": 0,
|
"tangentWeightMode": 0,
|
||||||
"value": 0.6,
|
"value": 0.6000000238418579,
|
||||||
"rightTangent": 0,
|
"rightTangent": 0,
|
||||||
"rightTangentWeight": 1,
|
"rightTangentWeight": 1,
|
||||||
"leftTangent": 0,
|
"leftTangent": 0,
|
||||||
|
@ -262,7 +262,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.animation.HierarchyPath",
|
"__type__": "cc.animation.HierarchyPath",
|
||||||
"path": "Particle"
|
"path": "Fx"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.animation.Channel",
|
"__type__": "cc.animation.Channel",
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||||
"__expectedType__": "cc.EffectAsset"
|
"__expectedType__": "cc.EffectAsset"
|
||||||
},
|
},
|
||||||
"_techIdx": 0,
|
"_techIdx": 1,
|
||||||
"_defines": [
|
"_defines": [
|
||||||
{}
|
{}
|
||||||
],
|
],
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
"_props": [
|
"_props": [
|
||||||
{
|
{
|
||||||
"mainTexture": {
|
"mainTexture": {
|
||||||
"__uuid__": "22da4f3e-e271-413c-a5ef-d4b1ccba7b92@6c48a",
|
"__uuid__": "435cbd16-621a-4d9d-84e9-834d9e388b3a@6c48a",
|
||||||
"__expectedType__": "cc.Texture2D"
|
"__expectedType__": "cc.Texture2D"
|
||||||
},
|
},
|
||||||
"tintColor": {
|
"tintColor": {
|
||||||
|
|
|
@ -7,13 +7,12 @@
|
||||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||||
"__expectedType__": "cc.EffectAsset"
|
"__expectedType__": "cc.EffectAsset"
|
||||||
},
|
},
|
||||||
"_techIdx": 0,
|
"_techIdx": 1,
|
||||||
"_defines": [
|
"_defines": [
|
||||||
{}
|
{}
|
||||||
],
|
],
|
||||||
"_states": [
|
"_states": [
|
||||||
{
|
{
|
||||||
"stage": 200,
|
|
||||||
"rasterizerState": {},
|
"rasterizerState": {},
|
||||||
"depthStencilState": {},
|
"depthStencilState": {},
|
||||||
"blendState": {
|
"blendState": {
|
||||||
|
@ -25,11 +24,15 @@
|
||||||
],
|
],
|
||||||
"_props": [
|
"_props": [
|
||||||
{
|
{
|
||||||
|
"mainTexture": {
|
||||||
|
"__uuid__": "2a038be3-959b-404f-80ac-2c1223a1db30@6c48a",
|
||||||
|
"__expectedType__": "cc.Texture2D"
|
||||||
|
},
|
||||||
"tintColor": {
|
"tintColor": {
|
||||||
"__type__": "cc.Color",
|
"__type__": "cc.Color",
|
||||||
"r": 255,
|
"r": 127,
|
||||||
"g": 255,
|
"g": 127,
|
||||||
"b": 255,
|
"b": 127,
|
||||||
"a": 255
|
"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 ObjectPool from '../Pool/ObjectPool';
|
||||||
import { EventManger } from '../Manager/EventManger';
|
import { EventManger } from '../Manager/EventManger';
|
||||||
import GameEvent from '../Events/GameEvent';
|
import GameEvent from '../Events/GameEvent';
|
||||||
|
import IPoolable from '../Pool/IPoolable';
|
||||||
|
import Utilities from '../Utilities';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('BoosterBase')
|
@ccclass('BoosterBase')
|
||||||
export class BoosterBase extends Component {
|
export class BoosterBase extends Component implements IPoolable {
|
||||||
@property({ type: Collider2D, visible: true })
|
@property({ type: Collider2D, visible: true })
|
||||||
private _collider: Collider2D;
|
protected _collider: Collider2D;
|
||||||
|
@property({ type: Animation, visible: true })
|
||||||
|
private _animation: Animation;
|
||||||
@property(CCFloat)
|
@property(CCFloat)
|
||||||
protected time: number = 10;
|
protected time: number = 10;
|
||||||
|
|
||||||
|
@ -16,10 +20,17 @@ export class BoosterBase extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
private onContactBegin(self: Collider2D, other: Collider2D) {
|
private onContactBegin(self: Collider2D, other: Collider2D) {
|
||||||
this.BoosterActive();
|
this.boosterActive();
|
||||||
EventManger.instance.emit(GameEvent.ObjectRelease, this.node);
|
EventManger.instance.emit(GameEvent.ObjectRelease, this.node);
|
||||||
ObjectPool.release(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')
|
@ccclass('CumulativeBooster')
|
||||||
export class CumulativeBooster extends BoosterBase {
|
export class CumulativeBooster extends BoosterBase {
|
||||||
protected BoosterActive(): void {
|
protected boosterActive(): void {
|
||||||
GameManager.instance.ActiveBooster(BoosterType.CumulativeBar, this.time);
|
GameManager.instance.ActiveBooster(BoosterType.CumulativeBar, this.time);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
enum GameState {
|
enum GameState {
|
||||||
Init,
|
Init = 'Init',
|
||||||
Playing,
|
Playing = 'Playing',
|
||||||
GameOver,
|
GameOver = 'GameOver',
|
||||||
End,
|
End = 'End',
|
||||||
Relive,
|
Relive = 'Relive',
|
||||||
}
|
}
|
||||||
|
|
||||||
export default GameState;
|
export default GameState;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
enum ScoreType {
|
enum ScoreType {
|
||||||
Goal,
|
Goal = 'Goal',
|
||||||
DestroyObject,
|
DestroyObject = 'DestroyObject',
|
||||||
Combo,
|
Combo = 'Combo',
|
||||||
}
|
}
|
||||||
|
|
||||||
export default ScoreType;
|
export default ScoreType;
|
||||||
|
|
|
@ -4,6 +4,7 @@ enum TimeConfig {
|
||||||
DelayGoal = 2,
|
DelayGoal = 2,
|
||||||
DelayCannonFire = 0.4,
|
DelayCannonFire = 0.4,
|
||||||
DelayCannonDone = 0.5,
|
DelayCannonDone = 0.5,
|
||||||
|
Tutorial = 10,
|
||||||
}
|
}
|
||||||
|
|
||||||
export default TimeConfig;
|
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 { EventManger } from '../Manager/EventManger';
|
||||||
import GameEvent from '../Events/GameEvent';
|
import GameEvent from '../Events/GameEvent';
|
||||||
import ScoreType from '../Enum/ScoreType';
|
import ScoreType from '../Enum/ScoreType';
|
||||||
import Utilities from '../Utilities';
|
import Utilities from '../Utilities';
|
||||||
import { GameManager } from '../Manager/GameManager';
|
import { GameManager } from '../Manager/GameManager';
|
||||||
import BoosterType from '../Enum/BoosterType';
|
import BoosterType from '../Enum/BoosterType';
|
||||||
|
import { SpawnObjectManager } from '../Manager/SpawnObjectManager';
|
||||||
|
import ObjectPool from '../Pool/ObjectPool';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('CumulativeBar')
|
@ccclass('CumulativeBar')
|
||||||
|
@ -13,29 +15,32 @@ export class CumulativeBar extends Component {
|
||||||
private _fillBar: Sprite;
|
private _fillBar: Sprite;
|
||||||
@property({ type: CCInteger, visible: true })
|
@property({ type: CCInteger, visible: true })
|
||||||
private _maxValue = 1000;
|
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 _currentValue = 0;
|
||||||
private _fillValue = 0;
|
private _fillValue = 0;
|
||||||
private _active = false;
|
private _active = false;
|
||||||
|
private _goal = false;
|
||||||
private _timer = 0;
|
private _timer = 0;
|
||||||
|
|
||||||
protected onLoad(): void {
|
protected onLoad(): void {
|
||||||
this._fillBar.fillRange = 0;
|
this._fillBar.fillRange = 0;
|
||||||
|
this._pools = new ObjectPool(this._scoreObjectPrefab, 10, false);
|
||||||
EventManger.instance.on(GameEvent.Score, this.onScore, this);
|
EventManger.instance.on(GameEvent.Score, this.onScore, this);
|
||||||
EventManger.instance.on(GameEvent.BoosterActive, this.onBoosterActive, this);
|
EventManger.instance.on(GameEvent.BoosterActive, this.onBoosterActive, this);
|
||||||
EventManger.instance.on(GameEvent.BoosterDisable, this.onBoosterDisable, this);
|
EventManger.instance.on(GameEvent.BoosterDisable, this.onBoosterDisable, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected update(dt: number): void {
|
protected update(dt: number): void {
|
||||||
if (Math.abs(this._fillValue - this._fillBar.fillRange) >= 0.001) {
|
if (!this._goal && !this._active && this._currentValue > 0) {
|
||||||
this._fillBar.fillRange = lerp(this._fillBar.fillRange, this._fillValue, dt * 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!this._active && this._currentValue > 0) {
|
|
||||||
this._timer += dt;
|
this._timer += dt;
|
||||||
if (this._timer >= 1) {
|
if (this._timer >= 0.1) {
|
||||||
this._timer = 0;
|
this._timer = 0;
|
||||||
this._currentValue -= 25;
|
this._currentValue -= 0.5;
|
||||||
|
|
||||||
if (this._currentValue < 0) {
|
if (this._currentValue < 0) {
|
||||||
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);
|
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) {
|
private async onScore(score: number, points: number, type: ScoreType) {
|
||||||
if (!this._active) return;
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case ScoreType.DestroyObject:
|
case ScoreType.DestroyObject:
|
||||||
|
if (!this._active) return;
|
||||||
this._currentValue += points;
|
this._currentValue += points;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ScoreType.Goal:
|
case ScoreType.Goal:
|
||||||
if (this._currentValue == 0) return;
|
if (this._currentValue == 0) return;
|
||||||
|
this._goal = true;
|
||||||
await Utilities.delay(1);
|
await Utilities.delay(1);
|
||||||
GameManager.instance.addScore(this._currentValue, ScoreType.Combo, this.node.getWorldPosition(), {
|
let items = Math.round(this._currentValue / 5);
|
||||||
scaleMin: 2,
|
GameManager.instance.addScore(
|
||||||
scaleMax: 4,
|
Math.round(this._currentValue),
|
||||||
duration: 1,
|
ScoreType.Combo,
|
||||||
});
|
this.node.getWorldPosition(),
|
||||||
|
{
|
||||||
|
scaleMin: 2,
|
||||||
|
scaleMax: 4,
|
||||||
|
duration: 1,
|
||||||
|
},
|
||||||
|
);
|
||||||
this._currentValue = 0;
|
this._currentValue = 0;
|
||||||
|
this._goal = false;
|
||||||
|
this.playCollectEffect(items);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
this._fillValue = -clamp(this._currentValue / 2 / this._maxValue, 0, 0.5);
|
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) {
|
private onBoosterActive(type: BoosterType) {
|
||||||
if (type == BoosterType.CumulativeBar) this._active = true;
|
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;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('SlingShot')
|
@ccclass('SlingShot')
|
||||||
|
@ -14,5 +15,7 @@ export default class SlingShot extends Component {
|
||||||
|
|
||||||
onBeginContact(self: Collider2D, other: Collider2D) {
|
onBeginContact(self: Collider2D, other: Collider2D) {
|
||||||
this._animation.play();
|
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 GameState from '../Enum/GameState';
|
||||||
import ScoreType from '../Enum/ScoreType';
|
import ScoreType from '../Enum/ScoreType';
|
||||||
import BoosterType from '../Enum/BoosterType';
|
import BoosterType from '../Enum/BoosterType';
|
||||||
|
import { ControllerSide } from '../GamePlay/Flipper';
|
||||||
|
|
||||||
enum GameEvent {
|
enum GameEvent {
|
||||||
Score,
|
Score,
|
||||||
|
@ -12,6 +13,8 @@ enum GameEvent {
|
||||||
ObjectRelease,
|
ObjectRelease,
|
||||||
BoosterActive,
|
BoosterActive,
|
||||||
BoosterDisable,
|
BoosterDisable,
|
||||||
|
ControlTouchStart,
|
||||||
|
ControlTouchEnd,
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface GameEventCallbackMap {
|
export interface GameEventCallbackMap {
|
||||||
|
@ -21,8 +24,10 @@ export interface GameEventCallbackMap {
|
||||||
[GameEvent.TimeUpdate]: (time: number) => void;
|
[GameEvent.TimeUpdate]: (time: number) => void;
|
||||||
[GameEvent.GameStateChange]: (state: GameState) => void;
|
[GameEvent.GameStateChange]: (state: GameState) => void;
|
||||||
[GameEvent.ObjectRelease]: (obj: Node) => void;
|
[GameEvent.ObjectRelease]: (obj: Node) => void;
|
||||||
[GameEvent.BoosterActive]: (score: BoosterType) => void;
|
[GameEvent.BoosterActive]: (boosterType: BoosterType) => void;
|
||||||
[GameEvent.BoosterDisable]: (score: BoosterType) => void;
|
[GameEvent.BoosterDisable]: (boosterType: BoosterType) => void;
|
||||||
|
[GameEvent.ControlTouchStart]: (touchSide: ControllerSide) => void;
|
||||||
|
[GameEvent.ControlTouchEnd]: (touchSide: ControllerSide) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface GameEventArgMap {
|
export interface GameEventArgMap {
|
||||||
|
@ -34,6 +39,8 @@ export interface GameEventArgMap {
|
||||||
[GameEvent.ObjectRelease]: Node;
|
[GameEvent.ObjectRelease]: Node;
|
||||||
[GameEvent.BoosterActive]: BoosterType;
|
[GameEvent.BoosterActive]: BoosterType;
|
||||||
[GameEvent.BoosterDisable]: BoosterType;
|
[GameEvent.BoosterDisable]: BoosterType;
|
||||||
|
[GameEvent.ControlTouchStart]: ControllerSide;
|
||||||
|
[GameEvent.ControlTouchEnd]: ControllerSide;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default GameEvent;
|
export default GameEvent;
|
||||||
|
|
|
@ -15,6 +15,7 @@ import { Ball } from './Ball';
|
||||||
import TimeConfig from '../Enum/TimeConfig';
|
import TimeConfig from '../Enum/TimeConfig';
|
||||||
import { EventManger } from '../Manager/EventManger';
|
import { EventManger } from '../Manager/EventManger';
|
||||||
import GameEvent from '../Events/GameEvent';
|
import GameEvent from '../Events/GameEvent';
|
||||||
|
import { CameraController } from '../Environments/CameraController';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('Cannon')
|
@ccclass('Cannon')
|
||||||
|
@ -40,6 +41,7 @@ export class Cannon extends Component {
|
||||||
ball.setActiveRigi(false);
|
ball.setActiveRigi(false);
|
||||||
tween(ball.node).to(0.1, { worldPosition: this.node.worldPosition }).start();
|
tween(ball.node).to(0.1, { worldPosition: this.node.worldPosition }).start();
|
||||||
await Utilities.delay(TimeConfig.DelayCannonFire);
|
await Utilities.delay(TimeConfig.DelayCannonFire);
|
||||||
|
CameraController.instance.shake(0.2);
|
||||||
this._animation.play();
|
this._animation.play();
|
||||||
ball.setActiveRigi(true);
|
ball.setActiveRigi(true);
|
||||||
ball.throwBall(new Vec2(0, this._force));
|
ball.throwBall(new Vec2(0, this._force));
|
||||||
|
|
|
@ -107,7 +107,7 @@ export class Enemy extends Component {
|
||||||
.start();
|
.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
private onScore(score: number, type: ScoreType) {
|
private onScore(score: number, points: number, type: ScoreType) {
|
||||||
if (type == ScoreType.Goal) {
|
if (type == ScoreType.Goal) {
|
||||||
this._currentGoal++;
|
this._currentGoal++;
|
||||||
if (this._currentGoal == this._requireGoal) {
|
if (this._currentGoal == this._requireGoal) {
|
||||||
|
|
|
@ -15,6 +15,7 @@ import ObjectPool from '../Pool/ObjectPool';
|
||||||
import { Ball } from './Ball';
|
import { Ball } from './Ball';
|
||||||
import { SoundManager } from '../Manager/SoundManager';
|
import { SoundManager } from '../Manager/SoundManager';
|
||||||
import TimeConfig from '../Enum/TimeConfig';
|
import TimeConfig from '../Enum/TimeConfig';
|
||||||
|
import { CameraController } from '../Environments/CameraController';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('Goal')
|
@ccclass('Goal')
|
||||||
|
@ -47,6 +48,7 @@ export class Goal extends Component {
|
||||||
fx.play();
|
fx.play();
|
||||||
SoundManager.instance.playSfx(this._goalSound);
|
SoundManager.instance.playSfx(this._goalSound);
|
||||||
ObjectPool.release(ball.node);
|
ObjectPool.release(ball.node);
|
||||||
|
CameraController.instance.shake(0.5);
|
||||||
await Utilities.waitUntil(() => fx.isStopped);
|
await Utilities.waitUntil(() => fx.isStopped);
|
||||||
this._goalFxPool.release(fx.node);
|
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 { GameManager } from '../Manager/GameManager';
|
||||||
import Utilities from '../Utilities';
|
import Utilities from '../Utilities';
|
||||||
import { Ball } from './Ball';
|
import { Ball } from './Ball';
|
||||||
import TimeConfig from '../Enum/TimeConfig';
|
import TimeConfig from '../Enum/TimeConfig';
|
||||||
|
import ObjectPool from '../Pool/ObjectPool';
|
||||||
|
import { CameraController } from '../Environments/CameraController';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('MultiBall')
|
@ccclass('MultiBall')
|
||||||
|
@ -13,24 +15,29 @@ export class MultiBall extends Component {
|
||||||
private _portLeft;
|
private _portLeft;
|
||||||
@property({ type: Node, visible: true })
|
@property({ type: Node, visible: true })
|
||||||
private _portRight;
|
private _portRight;
|
||||||
|
@property({ type: Prefab, visible: true })
|
||||||
|
private _fx: Prefab;
|
||||||
|
|
||||||
private _originBall: Ball;
|
private _originBall: Ball;
|
||||||
private _trigged = false;
|
private _trigged = false;
|
||||||
|
private _fxPool: ObjectPool;
|
||||||
|
|
||||||
protected onLoad(): void {
|
protected onLoad(): void {
|
||||||
|
this._fxPool = new ObjectPool(this._fx, 2, true);
|
||||||
this._collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
this._collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected lateUpdate(dt: number): void {
|
protected lateUpdate(dt: number): void {
|
||||||
if (this._trigged) {
|
if (this._trigged) {
|
||||||
|
CameraController.instance.shake(0.2);
|
||||||
this._originBall.setActiveRigi(true);
|
this._originBall.setActiveRigi(true);
|
||||||
const ball1 = this._originBall;
|
const ball1 = this._originBall;
|
||||||
const ball2 = GameManager.instance.spawnBall(false);
|
const ball2 = GameManager.instance.spawnBall(false);
|
||||||
ball1.node.setWorldPosition(this._portRight.worldPosition);
|
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.node.setWorldPosition(this._portLeft.worldPosition);
|
||||||
ball2.addForce(new Vec2(-10, 0));
|
ball2.addForce(new Vec2(-20, 0));
|
||||||
|
|
||||||
ball1.playMultiBallEffect();
|
ball1.playMultiBallEffect();
|
||||||
ball2.playMultiBallEffect();
|
ball2.playMultiBallEffect();
|
||||||
|
@ -45,7 +52,11 @@ export class MultiBall extends Component {
|
||||||
this._originBall = otherCollider.getComponent(Ball);
|
this._originBall = otherCollider.getComponent(Ball);
|
||||||
this._originBall.setActiveRigi(false);
|
this._originBall.setActiveRigi(false);
|
||||||
this._trigged = true;
|
this._trigged = true;
|
||||||
|
const fx = this._fxPool.get(this.node, ParticleSystem);
|
||||||
|
fx.node.setWorldPosition(this.node.worldPosition);
|
||||||
await Utilities.delay(TimeConfig.DelayMultiBall);
|
await Utilities.delay(TimeConfig.DelayMultiBall);
|
||||||
this._collider.enabled = true;
|
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 PhysicsGroup from '../Enum/PhysicGroup';
|
||||||
import ObjectPool from '../Pool/ObjectPool';
|
import ObjectPool from '../Pool/ObjectPool';
|
||||||
import Utilities from '../Utilities';
|
import Utilities from '../Utilities';
|
||||||
|
import { EventManger } from '../Manager/EventManger';
|
||||||
|
import GameEvent from '../Events/GameEvent';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('Ball')
|
@ccclass('Ball')
|
||||||
|
@ -45,6 +47,8 @@ export class Ball extends Component implements IPoolable {
|
||||||
private _trail: ParticleSystem;
|
private _trail: ParticleSystem;
|
||||||
@property({ type: ParticleSystem, visible: true })
|
@property({ type: ParticleSystem, visible: true })
|
||||||
private _buffParticle: ParticleSystem;
|
private _buffParticle: ParticleSystem;
|
||||||
|
@property({ type: ParticleSystem, visible: true })
|
||||||
|
private _boosterParticle: ParticleSystem;
|
||||||
@property({ type: CircleCollider2D, visible: true })
|
@property({ type: CircleCollider2D, visible: true })
|
||||||
private _collider: CircleCollider2D;
|
private _collider: CircleCollider2D;
|
||||||
@property({ type: AudioClip, visible: true })
|
@property({ type: AudioClip, visible: true })
|
||||||
|
@ -63,13 +67,21 @@ export class Ball extends Component implements IPoolable {
|
||||||
public eventHitObstacle = new EventTarget();
|
public eventHitObstacle = new EventTarget();
|
||||||
public eventGoal = new EventTarget();
|
public eventGoal = new EventTarget();
|
||||||
|
|
||||||
|
public init(boosterActive: boolean) {
|
||||||
|
if (boosterActive) this._boosterParticle.play();
|
||||||
|
else this._boosterParticle.stop();
|
||||||
|
}
|
||||||
|
|
||||||
protected onLoad(): void {
|
protected onLoad(): void {
|
||||||
if (this._collider) {
|
if (this._collider) {
|
||||||
this._collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
this._collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
||||||
this._collider.on(Contact2DType.END_CONTACT, this.onEndContact, this);
|
this._collider.on(Contact2DType.END_CONTACT, this.onEndContact, this);
|
||||||
}
|
}
|
||||||
director.on(Director.EVENT_AFTER_PHYSICS, this.setMaxVelocity, 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 {
|
protected update(dt: number): void {
|
||||||
|
@ -105,7 +117,8 @@ export class Ball extends Component implements IPoolable {
|
||||||
) {
|
) {
|
||||||
if (this._isHit) return;
|
if (this._isHit) return;
|
||||||
this._isHit = true;
|
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();
|
this._animation.play();
|
||||||
let hitPoint = contact.getWorldManifold().points[0];
|
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);
|
const hitFx = this._impactPool.get(this.node.parent, ParticleSystem);
|
||||||
hitFx.node.setWorldPosition(new Vec3(hitPoint.x, hitPoint.y, 10));
|
hitFx.node.setWorldPosition(new Vec3(hitPoint.x, hitPoint.y, 10));
|
||||||
hitFx.play();
|
|
||||||
SoundManager.instance.playSfx(this._hitSound);
|
SoundManager.instance.playSfx(this._hitSound);
|
||||||
await Utilities.waitUntil(() => hitFx.isStopped, 0.1);
|
await Utilities.waitUntil(() => hitFx.isStopped, 0.1);
|
||||||
this._impactPool.release(hitFx.node);
|
this._impactPool.release(hitFx.node);
|
||||||
|
@ -131,6 +143,14 @@ export class Ball extends Component implements IPoolable {
|
||||||
this._isHit = false;
|
this._isHit = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private onBoosterActive() {
|
||||||
|
this._boosterParticle.play();
|
||||||
|
}
|
||||||
|
|
||||||
|
private onBoosterDisable() {
|
||||||
|
this._boosterParticle.stop();
|
||||||
|
}
|
||||||
|
|
||||||
private setMaxVelocity() {
|
private setMaxVelocity() {
|
||||||
if (this._rigidBody.linearVelocity.length() > this._maxSpeed) {
|
if (this._rigidBody.linearVelocity.length() > this._maxSpeed) {
|
||||||
this._rigidBody.linearVelocity = this._rigidBody.linearVelocity.normalize().multiplyScalar(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.linearVelocity = Vec2.ZERO.clone();
|
||||||
this._rigidBody.angularVelocity = 0;
|
this._rigidBody.angularVelocity = 0;
|
||||||
this._buffParticle.stop();
|
this._buffParticle.stop();
|
||||||
|
this.getComponentsInChildren(ParticleSystem).forEach((particle) => {
|
||||||
|
particle.clear();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,12 +8,16 @@ import {
|
||||||
EventKeyboard,
|
EventKeyboard,
|
||||||
KeyCode,
|
KeyCode,
|
||||||
Enum,
|
Enum,
|
||||||
EventTouch,
|
Animation,
|
||||||
screen,
|
Vec3,
|
||||||
|
AnimationState,
|
||||||
} from 'cc';
|
} from 'cc';
|
||||||
|
import { EventManger } from '../Manager/EventManger';
|
||||||
|
import GameEvent from '../Events/GameEvent';
|
||||||
|
import TimeConfig from '../Enum/TimeConfig';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
enum ControllerSide {
|
export enum ControllerSide {
|
||||||
Left,
|
Left,
|
||||||
Right,
|
Right,
|
||||||
}
|
}
|
||||||
|
@ -22,6 +26,8 @@ Enum(ControllerSide);
|
||||||
|
|
||||||
@ccclass('Flipper')
|
@ccclass('Flipper')
|
||||||
export class Flipper extends Component {
|
export class Flipper extends Component {
|
||||||
|
@property({ type: Animation, visible: true })
|
||||||
|
private _animation: Animation;
|
||||||
@property({ visible: true, type: HingeJoint2D })
|
@property({ visible: true, type: HingeJoint2D })
|
||||||
private _hingeJoint: HingeJoint2D;
|
private _hingeJoint: HingeJoint2D;
|
||||||
@property({ visible: true, type: CCFloat })
|
@property({ visible: true, type: CCFloat })
|
||||||
|
@ -31,11 +37,26 @@ export class Flipper extends Component {
|
||||||
@property({ visible: true, type: ControllerSide })
|
@property({ visible: true, type: ControllerSide })
|
||||||
private side = ControllerSide.Left;
|
private side = ControllerSide.Left;
|
||||||
|
|
||||||
|
private _timer = 0;
|
||||||
|
private _isAnimationPlaying;
|
||||||
|
|
||||||
protected onLoad(): void {
|
protected onLoad(): void {
|
||||||
input.on(Input.EventType.KEY_DOWN, this.onKeyInputDown, this);
|
input.on(Input.EventType.KEY_DOWN, this.onKeyInputDown, this);
|
||||||
input.on(Input.EventType.KEY_UP, this.onKeyInputUp, this);
|
input.on(Input.EventType.KEY_UP, this.onKeyInputUp, this);
|
||||||
input.on(Input.EventType.TOUCH_START, this.onTouchStart, this);
|
EventManger.instance.on(GameEvent.ControlTouchStart, this.onTouchStart, this);
|
||||||
input.on(Input.EventType.TOUCH_END, this.onTouchEnd, 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
|
//#region Input Handler
|
||||||
|
@ -45,10 +66,18 @@ export class Flipper extends Component {
|
||||||
case KeyCode.KEY_A:
|
case KeyCode.KEY_A:
|
||||||
case KeyCode.ARROW_LEFT:
|
case KeyCode.ARROW_LEFT:
|
||||||
if (this.side == ControllerSide.Left) this.activeFlipper();
|
if (this.side == ControllerSide.Left) this.activeFlipper();
|
||||||
|
this._timer = 0;
|
||||||
|
if (this._animation.getState(this._animation.defaultClip.name).isPlaying) {
|
||||||
|
this._animation.stop();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case KeyCode.KEY_D:
|
case KeyCode.KEY_D:
|
||||||
case KeyCode.ARROW_RIGHT:
|
case KeyCode.ARROW_RIGHT:
|
||||||
if (this.side == ControllerSide.Right) this.activeFlipper();
|
if (this.side == ControllerSide.Right) this.activeFlipper();
|
||||||
|
this._timer = 0;
|
||||||
|
if (this._isAnimationPlaying) {
|
||||||
|
this._animation.stop();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -70,27 +99,20 @@ export class Flipper extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private onTouchStart(event: EventTouch) {
|
private onTouchStart(controllerSide: ControllerSide) {
|
||||||
if (event.getLocationX() > screen.windowSize.x / 2) {
|
if (this.side == controllerSide) {
|
||||||
if (this.side == ControllerSide.Right) {
|
this.activeFlipper();
|
||||||
this.activeFlipper();
|
}
|
||||||
}
|
this.node.setScale(Vec3.ONE);
|
||||||
} else {
|
this._timer = 0;
|
||||||
if (this.side == ControllerSide.Left) {
|
if (this._isAnimationPlaying) {
|
||||||
this.activeFlipper();
|
this._animation.stop();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private onTouchEnd(event: EventTouch) {
|
private onTouchEnd(controllerSide: ControllerSide) {
|
||||||
if (event.getLocationX() > screen.windowSize.x / 2) {
|
if (this.side == controllerSide) {
|
||||||
if (this.side == ControllerSide.Right) {
|
this.deActiveFlipper();
|
||||||
this.deActiveFlipper();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (this.side == ControllerSide.Left) {
|
|
||||||
this.deActiveFlipper();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 { GameEventArgMap, GameEventCallbackMap } from '../Events/GameEvent';
|
||||||
|
import Singleton from '../Singleton';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('EventManger')
|
@ccclass('EventManger')
|
||||||
export class EventManger extends Component {
|
export class EventManger extends Singleton<EventManger>('EventManger') {
|
||||||
//singleton
|
|
||||||
private static _instance: EventManger = null;
|
|
||||||
public static get instance(): EventManger {
|
|
||||||
if (!EventManger._instance) {
|
|
||||||
EventManger._instance = new EventManger('EventManger');
|
|
||||||
}
|
|
||||||
return EventManger._instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
private _eventTarget = new EventTarget();
|
private _eventTarget = new EventTarget();
|
||||||
|
|
||||||
onLoad() {
|
|
||||||
if (!EventManger._instance) {
|
|
||||||
EventManger._instance = this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public on<K extends keyof GameEventCallbackMap>(
|
public on<K extends keyof GameEventCallbackMap>(
|
||||||
eventType: K,
|
eventType: K,
|
||||||
callback: GameEventCallbackMap[K],
|
callback: GameEventCallbackMap[K],
|
||||||
|
|
|
@ -25,6 +25,7 @@ import { SoundManager } from './SoundManager';
|
||||||
import TimeConfig from '../Enum/TimeConfig';
|
import TimeConfig from '../Enum/TimeConfig';
|
||||||
import BEConnector from '../API/BEConnector';
|
import BEConnector from '../API/BEConnector';
|
||||||
import BoosterType from '../Enum/BoosterType';
|
import BoosterType from '../Enum/BoosterType';
|
||||||
|
import Singleton from '../Singleton';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
window.addEventListener('message', (data) => {
|
window.addEventListener('message', (data) => {
|
||||||
|
@ -52,13 +53,9 @@ class Booster {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ccclass('GameManager')
|
@ccclass('GameManager')
|
||||||
export class GameManager extends Component {
|
export class GameManager extends Singleton<GameManager>() {
|
||||||
//singleton
|
@property({ visible: true })
|
||||||
private static _instance: GameManager = null;
|
private _colliderDebug: boolean = false;
|
||||||
public static get instance(): GameManager {
|
|
||||||
return GameManager._instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
@property({ type: Prefab, visible: true })
|
@property({ type: Prefab, visible: true })
|
||||||
private _ballPrefab: Prefab;
|
private _ballPrefab: Prefab;
|
||||||
@property({ type: Prefab, visible: true })
|
@property({ type: Prefab, visible: true })
|
||||||
|
@ -93,10 +90,10 @@ export class GameManager extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected onLoad(): void {
|
protected onLoad(): void {
|
||||||
GameManager._instance = this;
|
super.onLoad();
|
||||||
this._ballPool = new ObjectPool(this._ballPrefab, 10, true, Ball);
|
this._ballPool = new ObjectPool(this._ballPrefab, 10, true, Ball);
|
||||||
this._FloatingScorePool = new ObjectPool(this._floatingScoreText, 10, true);
|
this._FloatingScorePool = new ObjectPool(this._floatingScoreText, 10, true);
|
||||||
// PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Shape;
|
if (this._colliderDebug) PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected start(): void {
|
protected start(): void {
|
||||||
|
@ -182,6 +179,7 @@ export class GameManager extends Component {
|
||||||
SoundManager.instance.playSfx(this._startSound);
|
SoundManager.instance.playSfx(this._startSound);
|
||||||
this.setCurrentBallInGame(1);
|
this.setCurrentBallInGame(1);
|
||||||
const ball = this._ballPool.get(this._ballHolder, Ball);
|
const ball = this._ballPool.get(this._ballHolder, Ball);
|
||||||
|
ball.init(this._boostersActive.length > 0);
|
||||||
ball.node.setRotation(Quat.IDENTITY);
|
ball.node.setRotation(Quat.IDENTITY);
|
||||||
ball.node.setPosition(this._ballSpawnPosition);
|
ball.node.setPosition(this._ballSpawnPosition);
|
||||||
if (!throwBall) return ball;
|
if (!throwBall) return ball;
|
||||||
|
@ -198,6 +196,12 @@ export class GameManager extends Component {
|
||||||
this.setCurrentBallInGame(-1);
|
this.setCurrentBallInGame(-1);
|
||||||
if (this._currentBallInGame <= 0) {
|
if (this._currentBallInGame <= 0) {
|
||||||
EventManger.instance.emit(GameEvent.BallOut, null);
|
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);
|
await Utilities.delay(TimeConfig.DelayPLay);
|
||||||
this.spawnBall(true);
|
this.spawnBall(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { _decorator, AudioClip, AudioSource, Component, Node } from 'cc';
|
import { _decorator, AudioClip, AudioSource, Component, Node } from 'cc';
|
||||||
|
import Singleton from '../Singleton';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
class SoundSource {
|
class SoundSource {
|
||||||
|
@ -34,25 +35,12 @@ class SoundSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ccclass('SoundManager')
|
@ccclass('SoundManager')
|
||||||
export class SoundManager extends Component {
|
export class SoundManager extends Singleton<SoundManager>('SoundManager') {
|
||||||
//singleton
|
|
||||||
private static _instance: SoundManager;
|
|
||||||
public static get instance(): SoundManager {
|
|
||||||
if (!SoundManager._instance) {
|
|
||||||
SoundManager._instance = new SoundManager('SoundManager');
|
|
||||||
}
|
|
||||||
return SoundManager._instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
private _audioSourcesSfx: { [key: string]: SoundSource } = {};
|
private _audioSourcesSfx: { [key: string]: SoundSource } = {};
|
||||||
private _audioSourceBgm: SoundSource;
|
private _audioSourceBgm: SoundSource;
|
||||||
|
|
||||||
private isMute = false;
|
private isMute = false;
|
||||||
|
|
||||||
protected onLoad(): void {
|
|
||||||
SoundManager._instance = this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public toggleMute(): boolean {
|
public toggleMute(): boolean {
|
||||||
this.isMute = !this.isMute;
|
this.isMute = !this.isMute;
|
||||||
this.setMute(this.isMute);
|
this.setMute(this.isMute);
|
||||||
|
|
|
@ -6,6 +6,8 @@ import GameEvent from '../Events/GameEvent';
|
||||||
import GameState from '../Enum/GameState';
|
import GameState from '../Enum/GameState';
|
||||||
import Utilities from '../Utilities';
|
import Utilities from '../Utilities';
|
||||||
import ScoreType from '../Enum/ScoreType';
|
import ScoreType from '../Enum/ScoreType';
|
||||||
|
import Singleton from '../Singleton';
|
||||||
|
import { BoosterBase } from '../Booster/BoosterBase';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('weightedObject')
|
@ccclass('weightedObject')
|
||||||
|
@ -26,22 +28,17 @@ class weightedObject {
|
||||||
|
|
||||||
@ccclass('SpawnObjectManager')
|
@ccclass('SpawnObjectManager')
|
||||||
export class SpawnObjectManager extends Component {
|
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 })
|
@property({ type: weightedObject, visible: true })
|
||||||
private _objects: weightedObject[] = [];
|
private _objects: weightedObject[] = [];
|
||||||
@property({ type: weightedObject, visible: true })
|
@property({ type: weightedObject, visible: true })
|
||||||
private _boosters: weightedObject[] = [];
|
private _boosters: weightedObject[] = [];
|
||||||
@property({ type: Node, visible: true })
|
@property({ type: Node, visible: true })
|
||||||
private _spawnPoints: Node[] = [];
|
private _spawnPoints: Node[] = [];
|
||||||
@property({ type: CCFloat, visible: true, range: [1, 10], slide: true })
|
@property({ type: CCFloat, visible: true })
|
||||||
private _spawnTime;
|
private readonly _spawnTime;
|
||||||
@property({ type: CCFloat, visible: true, range: [1, 100], slide: true })
|
@property({ type: CCFloat, visible: true })
|
||||||
|
private readonly _spawnTimeWhenBoosterActive;
|
||||||
|
@property({ type: CCFloat, visible: true })
|
||||||
private _spawnBoosterTime;
|
private _spawnBoosterTime;
|
||||||
|
|
||||||
private _pools: ObjectPool[] = [];
|
private _pools: ObjectPool[] = [];
|
||||||
|
@ -51,15 +48,18 @@ export class SpawnObjectManager extends Component {
|
||||||
private _timer = 0;
|
private _timer = 0;
|
||||||
private _timerBooster = 0;
|
private _timerBooster = 0;
|
||||||
private _weights: number[] = [];
|
private _weights: number[] = [];
|
||||||
|
private _boosterWeights: number[] = [];
|
||||||
private _isReplay = false;
|
private _isReplay = false;
|
||||||
private _boosterSpawned = false;
|
private _boosterSpawned = false;
|
||||||
|
private _spawnTimeObject = 0;
|
||||||
|
|
||||||
protected onLoad(): void {
|
protected onLoad(): void {
|
||||||
SpawnObjectManager._instance = this;
|
|
||||||
EventManger.instance.on(GameEvent.ObjectRelease, this.onObjectRelease, this);
|
EventManger.instance.on(GameEvent.ObjectRelease, this.onObjectRelease, this);
|
||||||
EventManger.instance.on(GameEvent.GameStateChange, this.onGameStateChange, this);
|
EventManger.instance.on(GameEvent.GameStateChange, this.onGameStateChange, this);
|
||||||
EventManger.instance.on(GameEvent.Score, this.onScore, this);
|
EventManger.instance.on(GameEvent.Score, this.onScore, this);
|
||||||
EventManger.instance.on(GameEvent.BoosterActive, this.onBoosterActive, 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++) {
|
for (let i = 0; i < this._objects.length; i++) {
|
||||||
const prefab = this._objects[i].prefab;
|
const prefab = this._objects[i].prefab;
|
||||||
|
@ -68,14 +68,14 @@ export class SpawnObjectManager extends Component {
|
||||||
|
|
||||||
for (let i = 0; i < this._boosters.length; i++) {
|
for (let i = 0; i < this._boosters.length; i++) {
|
||||||
const prefab = this._boosters[i].prefab;
|
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 {
|
protected update(dt: number): void {
|
||||||
if (!this._playing) return;
|
if (!this._playing) return;
|
||||||
this._timer += dt;
|
this._timer += dt;
|
||||||
if (this._timer >= this._spawnTime) {
|
if (this._timer >= this._spawnTimeObject) {
|
||||||
this._timer = 0;
|
this._timer = 0;
|
||||||
this.spawn();
|
this.spawn();
|
||||||
}
|
}
|
||||||
|
@ -106,7 +106,7 @@ export class SpawnObjectManager extends Component {
|
||||||
private spawnBooster() {
|
private spawnBooster() {
|
||||||
if (Object.keys(this._usedPoints).length == this._spawnPoints.length) return;
|
if (Object.keys(this._usedPoints).length == this._spawnPoints.length) return;
|
||||||
do {
|
do {
|
||||||
var randomPool = Utilities.weightedRandom(this._boosterPools, this._weights);
|
var randomPool = Utilities.weightedRandom(this._boosterPools, this._boosterWeights);
|
||||||
var index = this._boosterPools.indexOf(randomPool);
|
var index = this._boosterPools.indexOf(randomPool);
|
||||||
} while (this._boosters[index].maxObjects != -1 && randomPool.countActive >= this._boosters[index].maxObjects);
|
} while (this._boosters[index].maxObjects != -1 && randomPool.countActive >= this._boosters[index].maxObjects);
|
||||||
|
|
||||||
|
@ -126,9 +126,14 @@ export class SpawnObjectManager extends Component {
|
||||||
|
|
||||||
private onBoosterActive() {
|
private onBoosterActive() {
|
||||||
this._boosterSpawned = false;
|
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) {
|
if (type == ScoreType.Goal) {
|
||||||
this._objects.forEach((object) => {
|
this._objects.forEach((object) => {
|
||||||
if (object.currentWeight >= object.maxWeight) {
|
if (object.currentWeight >= object.maxWeight) {
|
||||||
|
@ -138,7 +143,16 @@ export class SpawnObjectManager extends Component {
|
||||||
object.currentWeight += object.weightStepOnGoal;
|
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._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;
|
obj.currentWeight = obj.weight;
|
||||||
return obj.currentWeight;
|
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++) {
|
for (let i = 0; i < randomRangeInt(5, 10); i++) {
|
||||||
this.spawn();
|
this.spawn();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import { Component, Node, Prefab, director, instantiate } from 'cc';
|
import { Component, Node, Prefab, director, instantiate } from 'cc';
|
||||||
import IPoolable from './IPoolable';
|
import IPoolable from './IPoolable';
|
||||||
|
import { error } from 'cc';
|
||||||
|
|
||||||
export default class ObjectPool {
|
export default class ObjectPool {
|
||||||
private _inactive: Node[] = [];
|
private _inactive: Node[] = [];
|
||||||
|
@ -25,6 +26,11 @@ export default class ObjectPool {
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(prefab: Prefab, size: number, expandable = true, poolHandlerComp?: new () => any | string) {
|
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._prefab = prefab;
|
||||||
this._expandable = expandable;
|
this._expandable = expandable;
|
||||||
this._poolHandlerComp = poolHandlerComp;
|
this._poolHandlerComp = poolHandlerComp;
|
||||||
|
@ -46,6 +52,10 @@ export default class ObjectPool {
|
||||||
public get(parent?: Node): Node;
|
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;
|
||||||
public get<T extends Component>(parent?: Node, classConstructor?: new () => T): T | Node {
|
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 obj: Node = null;
|
||||||
let p = parent || director.getScene();
|
let p = parent || director.getScene();
|
||||||
if (this._inactive.length > 0) {
|
if (this._inactive.length > 0) {
|
||||||
|
@ -57,6 +67,7 @@ export default class ObjectPool {
|
||||||
ObjectPool._poolLookUp[obj.uuid] = this;
|
ObjectPool._poolLookUp[obj.uuid] = this;
|
||||||
} else {
|
} else {
|
||||||
obj = this._actives.shift();
|
obj = this._actives.shift();
|
||||||
|
obj.removeFromParent();
|
||||||
}
|
}
|
||||||
|
|
||||||
obj.setParent(p);
|
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 { _decorator, Component, EventKeyboard, EventTouch, input, Input, KeyCode, Node, Tween, tween, Vec3 } from 'cc';
|
||||||
import { GameManager } from '../Manager/GameManager';
|
import { GameManager } from '../Manager/GameManager';
|
||||||
|
import TimeConfig from '../Enum/TimeConfig';
|
||||||
|
import Utilities from '../Utilities';
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('TutorialController')
|
@ccclass('TutorialController')
|
||||||
|
@ -9,44 +11,71 @@ export class TutorialController extends Component {
|
||||||
@property({ type: Node, visible: true })
|
@property({ type: Node, visible: true })
|
||||||
private _tapR: Node;
|
private _tapR: Node;
|
||||||
|
|
||||||
|
private _timer = 0;
|
||||||
|
private _showed = false;
|
||||||
|
|
||||||
protected onLoad(): void {
|
protected onLoad(): void {
|
||||||
this.node.on(Input.EventType.TOUCH_START, this.onTouch, this);
|
this.node.on(Input.EventType.TOUCH_START, this.onTouchStart, this);
|
||||||
input.on(Input.EventType.KEY_UP, this.onKeyInputUp, this);
|
input.on(Input.EventType.KEY_UP, this.onKeyInputUpStart, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected onDisable(): void {
|
protected async start() {
|
||||||
this.node.off(Input.EventType.TOUCH_START, this.onTouch, this);
|
|
||||||
input.off(Input.EventType.KEY_UP, this.onKeyInputUp, this);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected start() {
|
|
||||||
tween(this._tapL)
|
tween(this._tapL)
|
||||||
.by(0.5, { position: new Vec3(0, 50) }, { easing: 'quintOut' })
|
.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) }, { easing: 'sineOut' })
|
.by(0.5, { position: new Vec3(0, -50), scale: new Vec3(0.1, 0.1) }, { easing: 'sineOut' })
|
||||||
.union()
|
.union()
|
||||||
.repeatForever()
|
.repeatForever()
|
||||||
.start();
|
.start();
|
||||||
|
await Utilities.delay(0.5);
|
||||||
tween(this._tapR)
|
tween(this._tapR)
|
||||||
.delay(0.5)
|
.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) }, { easing: 'quintOut' })
|
.by(0.5, { position: new Vec3(0, -50), scale: new Vec3(0.1, 0.1) }, { easing: 'sineOut' })
|
||||||
.by(0.5, { position: new Vec3(0, -50) }, { easing: 'sineOut' })
|
|
||||||
.union()
|
.union()
|
||||||
.repeatForever()
|
.repeatForever()
|
||||||
.start();
|
.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() {
|
private startGame() {
|
||||||
Tween.stopAllByTarget(this._tapL);
|
this.stopTutorial();
|
||||||
Tween.stopAllByTarget(this._tapR);
|
this.node.off(Input.EventType.TOUCH_START, this.onTouchStart, this);
|
||||||
this.node.active = false;
|
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();
|
GameManager.instance.play();
|
||||||
}
|
}
|
||||||
|
|
||||||
private onTouch(event: EventTouch) {
|
private onTouch(event: EventTouch) {
|
||||||
|
this.stopTutorial();
|
||||||
|
}
|
||||||
|
|
||||||
|
private onTouchStart(event: EventTouch) {
|
||||||
this.startGame();
|
this.startGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
private onKeyInputUp(event: EventKeyboard) {
|
private onKeyInputUpStart(event: EventKeyboard) {
|
||||||
switch (event.keyCode) {
|
switch (event.keyCode) {
|
||||||
case KeyCode.KEY_A:
|
case KeyCode.KEY_A:
|
||||||
case KeyCode.ARROW_LEFT:
|
case KeyCode.ARROW_LEFT:
|
||||||
|
@ -58,4 +87,17 @@ export class TutorialController extends Component {
|
||||||
break;
|
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.BallOut, this.onBallOut, this);
|
||||||
EventManger.instance.on(GameEvent.GameStateChange, this.onGameStateChange, this);
|
EventManger.instance.on(GameEvent.GameStateChange, this.onGameStateChange, this);
|
||||||
EventManger.instance.on(GameEvent.MultiBall, this.onMultiBall, 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);
|
EventManger.instance.on(GameEvent.TimeUpdate, this.onTimeUpdate, this);
|
||||||
this._eventLabel.string = '';
|
this._eventLabel.string = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
private async onScore(score: number, type: ScoreType) {
|
private async onScore(score: number, points: number, type: ScoreType) {
|
||||||
this._scoreLabel.string = `Score: ${score}`;
|
this._scoreLabel.string = `Score: ${score}`;
|
||||||
if (type == ScoreType.Goal) {
|
if (type == ScoreType.Goal) {
|
||||||
this.showEventLabel('GOAL!!!');
|
this.showEventLabel('GOAL!!!');
|
||||||
|
@ -102,13 +104,19 @@ export class UIController extends Component {
|
||||||
|
|
||||||
private onMultiBall(active: boolean) {
|
private onMultiBall(active: boolean) {
|
||||||
if (active) {
|
if (active) {
|
||||||
this._buffFx.play();
|
|
||||||
this.showEventLabel('MULTI BALL!!!');
|
this.showEventLabel('MULTI BALL!!!');
|
||||||
} else {
|
|
||||||
this._buffFx.stop();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public onBoosterActive() {
|
||||||
|
this._buffFx.play();
|
||||||
|
this.showEventLabel('BOOSTER NAME!!!');
|
||||||
|
}
|
||||||
|
|
||||||
|
public onBoosterDisable() {
|
||||||
|
this._buffFx.stop();
|
||||||
|
}
|
||||||
|
|
||||||
public starGame() {
|
public starGame() {
|
||||||
this._tutorialPanel.active = true;
|
this._tutorialPanel.active = true;
|
||||||
this._startPanel.active = false;
|
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",
|
"__type__": "cc.Prefab",
|
||||||
"_name": "Impact Particle",
|
"_name": "Buff_Particle",
|
||||||
"_objFlags": 0,
|
"_objFlags": 0,
|
||||||
"_native": "",
|
"_native": "",
|
||||||
"data": {
|
"data": {
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.Node",
|
"__type__": "cc.Node",
|
||||||
"_name": "Impact Particle",
|
"_name": "Buff_Particle",
|
||||||
"_objFlags": 0,
|
"_objFlags": 0,
|
||||||
"__editorExtras__": {},
|
"__editorExtras__": {},
|
||||||
"_parent": null,
|
"_parent": null,
|
||||||
|
@ -23,20 +23,20 @@
|
||||||
"__id__": 2
|
"__id__": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__id__": 4
|
"__id__": 64
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__id__": 6
|
"__id__": 66
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_prefab": {
|
"_prefab": {
|
||||||
"__id__": 65
|
"__id__": 68
|
||||||
},
|
},
|
||||||
"_lpos": {
|
"_lpos": {
|
||||||
"__type__": "cc.Vec3",
|
"__type__": "cc.Vec3",
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"z": 0
|
"z": 10
|
||||||
},
|
},
|
||||||
"_lrot": {
|
"_lrot": {
|
||||||
"__type__": "cc.Quat",
|
"__type__": "cc.Quat",
|
||||||
|
@ -47,8 +47,8 @@
|
||||||
},
|
},
|
||||||
"_lscale": {
|
"_lscale": {
|
||||||
"__type__": "cc.Vec3",
|
"__type__": "cc.Vec3",
|
||||||
"x": 50,
|
"x": 10,
|
||||||
"y": 50,
|
"y": 10,
|
||||||
"z": 1
|
"z": 1
|
||||||
},
|
},
|
||||||
"_mobility": 0,
|
"_mobility": 0,
|
||||||
|
@ -62,7 +62,7 @@
|
||||||
"_id": ""
|
"_id": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.UIMeshRenderer",
|
"__type__": "cc.ParticleSystem",
|
||||||
"_name": "",
|
"_name": "",
|
||||||
"_objFlags": 0,
|
"_objFlags": 0,
|
||||||
"node": {
|
"node": {
|
||||||
|
@ -72,162 +72,114 @@
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 3
|
"__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": [
|
"_materials": [
|
||||||
{
|
{
|
||||||
"__uuid__": "9aa5d037-ec4c-4f5a-9513-4a423d576110",
|
"__uuid__": "989f9732-56aa-468a-9c87-d59761501c3e",
|
||||||
"__expectedType__": "cc.Material"
|
"__expectedType__": "cc.Material"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_visFlags": 0,
|
"_visFlags": 0,
|
||||||
"startColor": {
|
"startColor": {
|
||||||
"__id__": 8
|
"__id__": 4
|
||||||
},
|
},
|
||||||
"scaleSpace": 1,
|
"scaleSpace": 1,
|
||||||
"startSize3D": false,
|
"startSize3D": false,
|
||||||
"startSizeX": {
|
"startSizeX": {
|
||||||
"__id__": 9
|
"__id__": 5
|
||||||
},
|
},
|
||||||
"startSize": {
|
"startSize": {
|
||||||
"__id__": 9
|
"__id__": 5
|
||||||
},
|
},
|
||||||
"startSizeY": {
|
"startSizeY": {
|
||||||
"__id__": 10
|
"__id__": 6
|
||||||
},
|
},
|
||||||
"startSizeZ": {
|
"startSizeZ": {
|
||||||
"__id__": 11
|
"__id__": 7
|
||||||
},
|
},
|
||||||
"startSpeed": {
|
"startSpeed": {
|
||||||
"__id__": 12
|
"__id__": 8
|
||||||
},
|
},
|
||||||
"startRotation3D": false,
|
"startRotation3D": false,
|
||||||
"startRotationX": {
|
"startRotationX": {
|
||||||
"__id__": 13
|
"__id__": 9
|
||||||
},
|
},
|
||||||
"startRotationY": {
|
"startRotationY": {
|
||||||
"__id__": 14
|
"__id__": 10
|
||||||
},
|
},
|
||||||
"startRotationZ": {
|
"startRotationZ": {
|
||||||
"__id__": 15
|
"__id__": 11
|
||||||
},
|
},
|
||||||
"startRotation": {
|
"startRotation": {
|
||||||
"__id__": 15
|
"__id__": 11
|
||||||
},
|
},
|
||||||
"startDelay": {
|
"startDelay": {
|
||||||
"__id__": 16
|
"__id__": 12
|
||||||
},
|
},
|
||||||
"startLifetime": {
|
"startLifetime": {
|
||||||
"__id__": 17
|
"__id__": 13
|
||||||
},
|
},
|
||||||
"duration": 1,
|
"duration": 5,
|
||||||
"loop": false,
|
"loop": true,
|
||||||
"simulationSpeed": 1,
|
"simulationSpeed": 1,
|
||||||
"playOnAwake": false,
|
"playOnAwake": false,
|
||||||
"gravityModifier": {
|
"gravityModifier": {
|
||||||
"__id__": 18
|
"__id__": 14
|
||||||
},
|
},
|
||||||
"rateOverTime": {
|
"rateOverTime": {
|
||||||
"__id__": 19
|
"__id__": 15
|
||||||
},
|
},
|
||||||
"rateOverDistance": {
|
"rateOverDistance": {
|
||||||
"__id__": 20
|
"__id__": 16
|
||||||
},
|
},
|
||||||
"bursts": [
|
"bursts": [],
|
||||||
{
|
|
||||||
"__id__": 21
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"_renderCulling": false,
|
"_renderCulling": false,
|
||||||
"_cullingMode": 0,
|
"_cullingMode": 1,
|
||||||
"_aabbHalfX": 0,
|
"_aabbHalfX": 15.480704262604377,
|
||||||
"_aabbHalfY": 0,
|
"_aabbHalfY": 15.47013261447455,
|
||||||
"_aabbHalfZ": 0,
|
"_aabbHalfZ": 2.249856228336765,
|
||||||
"_dataCulling": false,
|
"_dataCulling": false,
|
||||||
"enableCulling": false,
|
"enableCulling": false,
|
||||||
"_colorOverLifetimeModule": {
|
"_colorOverLifetimeModule": {
|
||||||
"__id__": 23
|
"__id__": 17
|
||||||
},
|
},
|
||||||
"_shapeModule": {
|
"_shapeModule": {
|
||||||
"__id__": 28
|
"__id__": 27
|
||||||
},
|
},
|
||||||
"_sizeOvertimeModule": {
|
"_sizeOvertimeModule": {
|
||||||
"__id__": 30
|
"__id__": 29
|
||||||
},
|
},
|
||||||
"_velocityOvertimeModule": {
|
"_velocityOvertimeModule": {
|
||||||
"__id__": 36
|
"__id__": 35
|
||||||
},
|
},
|
||||||
"_forceOvertimeModule": {
|
"_forceOvertimeModule": {
|
||||||
"__id__": 41
|
"__id__": 40
|
||||||
},
|
},
|
||||||
"_limitVelocityOvertimeModule": {
|
"_limitVelocityOvertimeModule": {
|
||||||
"__id__": 45
|
"__id__": 44
|
||||||
},
|
},
|
||||||
"_rotationOvertimeModule": {
|
"_rotationOvertimeModule": {
|
||||||
"__id__": 50
|
"__id__": 49
|
||||||
},
|
},
|
||||||
"_textureAnimationModule": {
|
"_textureAnimationModule": {
|
||||||
"__id__": 54
|
"__id__": 53
|
||||||
},
|
},
|
||||||
"_noiseModule": {
|
"_noiseModule": {
|
||||||
"__id__": 58
|
"__id__": 57
|
||||||
},
|
},
|
||||||
"_trailModule": {
|
"_trailModule": {
|
||||||
"__id__": 59
|
"__id__": 58
|
||||||
},
|
},
|
||||||
"renderer": {
|
"renderer": {
|
||||||
"__id__": 64
|
"__id__": 63
|
||||||
},
|
},
|
||||||
"_prewarm": false,
|
"_prewarm": false,
|
||||||
"_capacity": 100,
|
"_capacity": 100,
|
||||||
"_simulationSpace": 1,
|
"_simulationSpace": 0,
|
||||||
"_id": ""
|
"_id": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.CompPrefabInfo",
|
"__type__": "cc.CompPrefabInfo",
|
||||||
"fileId": "e5RR/Euk5E1aiVQtB8bWtU"
|
"fileId": "e7RGndsM1GC5BOylb+tbsg"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.GradientRange",
|
"__type__": "cc.GradientRange",
|
||||||
|
@ -242,8 +194,9 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.CurveRange",
|
"__type__": "cc.CurveRange",
|
||||||
"mode": 0,
|
"mode": 3,
|
||||||
"constant": 1.5,
|
"constantMin": 0.5,
|
||||||
|
"constantMax": 4,
|
||||||
"multiplier": 1
|
"multiplier": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -260,8 +213,9 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.CurveRange",
|
"__type__": "cc.CurveRange",
|
||||||
"mode": 0,
|
"mode": 3,
|
||||||
"constant": 5,
|
"constantMin": 2.2,
|
||||||
|
"constantMax": 5,
|
||||||
"multiplier": 1
|
"multiplier": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -278,8 +232,9 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.CurveRange",
|
"__type__": "cc.CurveRange",
|
||||||
"mode": 0,
|
"mode": 3,
|
||||||
"constant": 0,
|
"constantMin": 0,
|
||||||
|
"constantMax": 6.283185307179586,
|
||||||
"multiplier": 1
|
"multiplier": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -288,98 +243,142 @@
|
||||||
"constant": 0,
|
"constant": 0,
|
||||||
"multiplier": 1
|
"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",
|
"__type__": "cc.CurveRange",
|
||||||
"mode": 0,
|
"mode": 0,
|
||||||
"constant": 1,
|
"constant": 1,
|
||||||
"multiplier": 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",
|
"__type__": "cc.ColorOvertimeModule",
|
||||||
"_enable": false,
|
"_enable": true,
|
||||||
"color": {
|
"color": {
|
||||||
"__id__": 24
|
"__id__": 18
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.GradientRange",
|
"__type__": "cc.GradientRange",
|
||||||
"_mode": 1,
|
"_mode": 1,
|
||||||
"gradient": {
|
"gradient": {
|
||||||
"__id__": 25
|
"__id__": 19
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.Gradient",
|
"__type__": "cc.Gradient",
|
||||||
"colorKeys": [],
|
"colorKeys": [
|
||||||
"alphaKeys": [
|
|
||||||
{
|
{
|
||||||
"__id__": 26
|
"__id__": 20
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__id__": 27
|
"__id__": 21
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 22
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"alphaKeys": [
|
||||||
|
{
|
||||||
|
"__id__": 23
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 26
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"mode": 0
|
"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",
|
"__type__": "cc.AlphaKey",
|
||||||
"alpha": 255,
|
"alpha": 0,
|
||||||
"time": 0
|
"time": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.AlphaKey",
|
"__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
|
"time": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.ShapeModule",
|
"__type__": "cc.ShapeModule",
|
||||||
"_enable": false,
|
"_enable": true,
|
||||||
"_shapeType": 2,
|
"_shapeType": 1,
|
||||||
"shapeType": 2,
|
"shapeType": 1,
|
||||||
"emitFrom": 0,
|
"emitFrom": 3,
|
||||||
"alignToDirection": false,
|
"alignToDirection": false,
|
||||||
"randomDirectionAmount": 0,
|
"randomDirectionAmount": 0,
|
||||||
"sphericalDirectionAmount": 0,
|
"sphericalDirectionAmount": 0,
|
||||||
"randomPositionAmount": 0,
|
"randomPositionAmount": 0,
|
||||||
"radius": 1,
|
"radius": 4,
|
||||||
"radiusThickness": 1,
|
"radiusThickness": 1,
|
||||||
"arcMode": 0,
|
"arcMode": 0,
|
||||||
"arcSpread": 0,
|
"arcSpread": 0,
|
||||||
"arcSpeed": {
|
"arcSpeed": {
|
||||||
"__id__": 29
|
"__id__": 28
|
||||||
},
|
},
|
||||||
"length": 5,
|
"length": 5,
|
||||||
"boxThickness": {
|
"boxThickness": {
|
||||||
|
@ -420,23 +419,23 @@
|
||||||
"_enable": true,
|
"_enable": true,
|
||||||
"separateAxes": false,
|
"separateAxes": false,
|
||||||
"size": {
|
"size": {
|
||||||
"__id__": 31
|
"__id__": 30
|
||||||
},
|
},
|
||||||
"x": {
|
"x": {
|
||||||
"__id__": 33
|
"__id__": 32
|
||||||
},
|
},
|
||||||
"y": {
|
"y": {
|
||||||
"__id__": 34
|
"__id__": 33
|
||||||
},
|
},
|
||||||
"z": {
|
"z": {
|
||||||
"__id__": 35
|
"__id__": 34
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.CurveRange",
|
"__type__": "cc.CurveRange",
|
||||||
"mode": 1,
|
"mode": 1,
|
||||||
"spline": {
|
"spline": {
|
||||||
"__id__": 32
|
"__id__": 31
|
||||||
},
|
},
|
||||||
"multiplier": 1
|
"multiplier": 1
|
||||||
},
|
},
|
||||||
|
@ -444,6 +443,7 @@
|
||||||
"__type__": "cc.RealCurve",
|
"__type__": "cc.RealCurve",
|
||||||
"_times": [
|
"_times": [
|
||||||
0,
|
0,
|
||||||
|
0.4512820512820513,
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
"_values": [
|
"_values": [
|
||||||
|
@ -452,9 +452,9 @@
|
||||||
"interpolationMode": 2,
|
"interpolationMode": 2,
|
||||||
"tangentWeightMode": 0,
|
"tangentWeightMode": 0,
|
||||||
"value": 0,
|
"value": 0,
|
||||||
"rightTangent": 0,
|
"rightTangent": 6.901234567901234,
|
||||||
"rightTangentWeight": 1,
|
"rightTangentWeight": 1,
|
||||||
"leftTangent": 0,
|
"leftTangent": 6.901234567901234,
|
||||||
"leftTangentWeight": 1,
|
"leftTangentWeight": 1,
|
||||||
"easingMethod": 0,
|
"easingMethod": 0,
|
||||||
"__editorExtras__": null
|
"__editorExtras__": null
|
||||||
|
@ -463,10 +463,22 @@
|
||||||
"__type__": "cc.RealKeyframeValue",
|
"__type__": "cc.RealKeyframeValue",
|
||||||
"interpolationMode": 2,
|
"interpolationMode": 2,
|
||||||
"tangentWeightMode": 0,
|
"tangentWeightMode": 0,
|
||||||
"value": 1,
|
"value": 0.9814814814814815,
|
||||||
"rightTangent": 0,
|
"rightTangent": 0,
|
||||||
"rightTangentWeight": 1,
|
"rightTangentWeight": 0,
|
||||||
"leftTangent": 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,
|
"leftTangentWeight": 1,
|
||||||
"easingMethod": 0,
|
"easingMethod": 0,
|
||||||
"__editorExtras__": null
|
"__editorExtras__": null
|
||||||
|
@ -497,16 +509,16 @@
|
||||||
"__type__": "cc.VelocityOvertimeModule",
|
"__type__": "cc.VelocityOvertimeModule",
|
||||||
"_enable": false,
|
"_enable": false,
|
||||||
"x": {
|
"x": {
|
||||||
"__id__": 37
|
"__id__": 36
|
||||||
},
|
},
|
||||||
"y": {
|
"y": {
|
||||||
"__id__": 38
|
"__id__": 37
|
||||||
},
|
},
|
||||||
"z": {
|
"z": {
|
||||||
"__id__": 39
|
"__id__": 38
|
||||||
},
|
},
|
||||||
"speedModifier": {
|
"speedModifier": {
|
||||||
"__id__": 40
|
"__id__": 39
|
||||||
},
|
},
|
||||||
"space": 1
|
"space": 1
|
||||||
},
|
},
|
||||||
|
@ -538,13 +550,13 @@
|
||||||
"__type__": "cc.ForceOvertimeModule",
|
"__type__": "cc.ForceOvertimeModule",
|
||||||
"_enable": false,
|
"_enable": false,
|
||||||
"x": {
|
"x": {
|
||||||
"__id__": 42
|
"__id__": 41
|
||||||
},
|
},
|
||||||
"y": {
|
"y": {
|
||||||
"__id__": 43
|
"__id__": 42
|
||||||
},
|
},
|
||||||
"z": {
|
"z": {
|
||||||
"__id__": 44
|
"__id__": 43
|
||||||
},
|
},
|
||||||
"space": 1
|
"space": 1
|
||||||
},
|
},
|
||||||
|
@ -570,16 +582,16 @@
|
||||||
"__type__": "cc.LimitVelocityOvertimeModule",
|
"__type__": "cc.LimitVelocityOvertimeModule",
|
||||||
"_enable": false,
|
"_enable": false,
|
||||||
"limitX": {
|
"limitX": {
|
||||||
"__id__": 46
|
"__id__": 45
|
||||||
},
|
},
|
||||||
"limitY": {
|
"limitY": {
|
||||||
"__id__": 47
|
"__id__": 46
|
||||||
},
|
},
|
||||||
"limitZ": {
|
"limitZ": {
|
||||||
"__id__": 48
|
"__id__": 47
|
||||||
},
|
},
|
||||||
"limit": {
|
"limit": {
|
||||||
"__id__": 49
|
"__id__": 48
|
||||||
},
|
},
|
||||||
"dampen": 3,
|
"dampen": 3,
|
||||||
"separateAxes": false,
|
"separateAxes": false,
|
||||||
|
@ -611,16 +623,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.RotationOvertimeModule",
|
"__type__": "cc.RotationOvertimeModule",
|
||||||
"_enable": false,
|
"_enable": true,
|
||||||
"_separateAxes": false,
|
"_separateAxes": false,
|
||||||
"x": {
|
"x": {
|
||||||
"__id__": 51
|
"__id__": 50
|
||||||
},
|
},
|
||||||
"y": {
|
"y": {
|
||||||
"__id__": 52
|
"__id__": 51
|
||||||
},
|
},
|
||||||
"z": {
|
"z": {
|
||||||
"__id__": 53
|
"__id__": 52
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -637,8 +649,9 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.CurveRange",
|
"__type__": "cc.CurveRange",
|
||||||
"mode": 0,
|
"mode": 3,
|
||||||
"constant": 0,
|
"constantMin": -6.283185307179586,
|
||||||
|
"constantMax": 0.10966226576191991,
|
||||||
"multiplier": 1
|
"multiplier": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -651,10 +664,10 @@
|
||||||
"_mode": 0,
|
"_mode": 0,
|
||||||
"animation": 0,
|
"animation": 0,
|
||||||
"frameOverTime": {
|
"frameOverTime": {
|
||||||
"__id__": 55
|
"__id__": 54
|
||||||
},
|
},
|
||||||
"startFrame": {
|
"startFrame": {
|
||||||
"__id__": 57
|
"__id__": 56
|
||||||
},
|
},
|
||||||
"cycleCount": 0,
|
"cycleCount": 0,
|
||||||
"_flipU": 0,
|
"_flipU": 0,
|
||||||
|
@ -667,7 +680,7 @@
|
||||||
"__type__": "cc.CurveRange",
|
"__type__": "cc.CurveRange",
|
||||||
"mode": 1,
|
"mode": 1,
|
||||||
"spline": {
|
"spline": {
|
||||||
"__id__": 56
|
"__id__": 55
|
||||||
},
|
},
|
||||||
"multiplier": 1
|
"multiplier": 1
|
||||||
},
|
},
|
||||||
|
@ -734,25 +747,25 @@
|
||||||
"_enable": false,
|
"_enable": false,
|
||||||
"mode": 0,
|
"mode": 0,
|
||||||
"lifeTime": {
|
"lifeTime": {
|
||||||
"__id__": 60
|
"__id__": 59
|
||||||
},
|
},
|
||||||
"_minParticleDistance": 0.1,
|
"_minParticleDistance": 0.1,
|
||||||
"existWithParticles": true,
|
"existWithParticles": true,
|
||||||
"textureMode": 0,
|
"textureMode": 0,
|
||||||
"widthFromParticle": true,
|
"widthFromParticle": true,
|
||||||
"widthRatio": {
|
"widthRatio": {
|
||||||
"__id__": 61
|
"__id__": 60
|
||||||
},
|
},
|
||||||
"colorFromParticle": false,
|
"colorFromParticle": false,
|
||||||
"colorOverTrail": {
|
"colorOverTrail": {
|
||||||
"__id__": 62
|
"__id__": 61
|
||||||
},
|
},
|
||||||
"colorOvertime": {
|
"colorOvertime": {
|
||||||
"__id__": 63
|
"__id__": 62
|
||||||
},
|
},
|
||||||
"_space": 0,
|
"_space": 0,
|
||||||
"_particleSystem": {
|
"_particleSystem": {
|
||||||
"__id__": 6
|
"__id__": 2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -791,22 +804,66 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.ParticleSystemRenderer",
|
"__type__": "cc.ParticleSystemRenderer",
|
||||||
"_renderMode": 3,
|
"_renderMode": 0,
|
||||||
"_velocityScale": 1,
|
"_velocityScale": 1,
|
||||||
"_lengthScale": 1,
|
"_lengthScale": 1,
|
||||||
"_mesh": null,
|
"_mesh": null,
|
||||||
"_cpuMaterial": {
|
"_cpuMaterial": {
|
||||||
"__uuid__": "9aa5d037-ec4c-4f5a-9513-4a423d576110",
|
"__uuid__": "989f9732-56aa-468a-9c87-d59761501c3e",
|
||||||
"__expectedType__": "cc.Material"
|
"__expectedType__": "cc.Material"
|
||||||
},
|
},
|
||||||
"_gpuMaterial": null,
|
"_gpuMaterial": null,
|
||||||
"_mainTexture": {
|
"_mainTexture": {
|
||||||
"__uuid__": "55cef4ac-5e35-45d5-90f5-b50f6dcefca7@6c48a",
|
"__uuid__": "435cbd16-621a-4d9d-84e9-834d9e388b3a@6c48a",
|
||||||
"__expectedType__": "cc.Texture2D"
|
"__expectedType__": "cc.Texture2D"
|
||||||
},
|
},
|
||||||
"_useGPU": false,
|
"_useGPU": false,
|
||||||
"_alignSpace": 2
|
"_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",
|
"__type__": "cc.PrefabInfo",
|
||||||
"root": {
|
"root": {
|
||||||
|
@ -815,7 +872,7 @@
|
||||||
"asset": {
|
"asset": {
|
||||||
"__id__": 0
|
"__id__": 0
|
||||||
},
|
},
|
||||||
"fileId": "02Cq1VgJZE6L0Djr0XraDM",
|
"fileId": "67xZ2cRkJFAr/RCUJZ4Wsx",
|
||||||
"instance": null,
|
"instance": null,
|
||||||
"targetOverrides": null
|
"targetOverrides": null
|
||||||
}
|
}
|
|
@ -2,12 +2,12 @@
|
||||||
"ver": "1.1.43",
|
"ver": "1.1.43",
|
||||||
"importer": "prefab",
|
"importer": "prefab",
|
||||||
"imported": true,
|
"imported": true,
|
||||||
"uuid": "c7549312-ab7b-4974-8863-1a55c119c34f",
|
"uuid": "e14fcc1f-f971-42d3-9b4c-b18518610c85",
|
||||||
"files": [
|
"files": [
|
||||||
".json"
|
".json"
|
||||||
],
|
],
|
||||||
"subMetas": {},
|
"subMetas": {},
|
||||||
"userData": {
|
"userData": {
|
||||||
"syncNodeName": "Buff Particle"
|
"syncNodeName": "Buff_Particle"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,12 +2,12 @@
|
||||||
"ver": "1.1.43",
|
"ver": "1.1.43",
|
||||||
"importer": "prefab",
|
"importer": "prefab",
|
||||||
"imported": true,
|
"imported": true,
|
||||||
"uuid": "e4f226d3-8b68-42b8-8bf0-490b8d5765c4",
|
"uuid": "246eb0a7-6e50-4bf0-8025-3edde8adaefe",
|
||||||
"files": [
|
"files": [
|
||||||
".json"
|
".json"
|
||||||
],
|
],
|
||||||
"subMetas": {},
|
"subMetas": {},
|
||||||
"userData": {
|
"userData": {
|
||||||
"syncNodeName": "Impact Particle"
|
"syncNodeName": "EffectX2"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"__type__": "cc.Prefab",
|
"__type__": "cc.Prefab",
|
||||||
"_name": "Goal Particle",
|
"_name": "Goal Particle-001",
|
||||||
"_objFlags": 0,
|
"_objFlags": 0,
|
||||||
"_native": "",
|
"_native": "",
|
||||||
"data": {
|
"data": {
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.Node",
|
"__type__": "cc.Node",
|
||||||
"_name": "Goal Particle",
|
"_name": "Goal Particle-001",
|
||||||
"_objFlags": 0,
|
"_objFlags": 0,
|
||||||
"__editorExtras__": {},
|
"__editorExtras__": {},
|
||||||
"_parent": null,
|
"_parent": null,
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_prefab": {
|
"_prefab": {
|
||||||
"__id__": 66
|
"__id__": 60
|
||||||
},
|
},
|
||||||
"_lpos": {
|
"_lpos": {
|
||||||
"__type__": "cc.Vec3",
|
"__type__": "cc.Vec3",
|
||||||
|
@ -129,55 +129,55 @@
|
||||||
"scaleSpace": 1,
|
"scaleSpace": 1,
|
||||||
"startSize3D": true,
|
"startSize3D": true,
|
||||||
"startSizeX": {
|
"startSizeX": {
|
||||||
"__id__": 14
|
"__id__": 9
|
||||||
},
|
},
|
||||||
"startSize": {
|
"startSize": {
|
||||||
"__id__": 14
|
"__id__": 9
|
||||||
},
|
},
|
||||||
"startSizeY": {
|
"startSizeY": {
|
||||||
"__id__": 15
|
"__id__": 10
|
||||||
},
|
},
|
||||||
"startSizeZ": {
|
"startSizeZ": {
|
||||||
"__id__": 16
|
"__id__": 11
|
||||||
},
|
},
|
||||||
"startSpeed": {
|
"startSpeed": {
|
||||||
"__id__": 17
|
"__id__": 12
|
||||||
},
|
},
|
||||||
"startRotation3D": true,
|
"startRotation3D": true,
|
||||||
"startRotationX": {
|
"startRotationX": {
|
||||||
"__id__": 18
|
"__id__": 13
|
||||||
},
|
},
|
||||||
"startRotationY": {
|
"startRotationY": {
|
||||||
"__id__": 19
|
"__id__": 14
|
||||||
},
|
},
|
||||||
"startRotationZ": {
|
"startRotationZ": {
|
||||||
"__id__": 20
|
"__id__": 15
|
||||||
},
|
},
|
||||||
"startRotation": {
|
"startRotation": {
|
||||||
"__id__": 20
|
"__id__": 15
|
||||||
},
|
},
|
||||||
"startDelay": {
|
"startDelay": {
|
||||||
"__id__": 21
|
"__id__": 16
|
||||||
},
|
},
|
||||||
"startLifetime": {
|
"startLifetime": {
|
||||||
"__id__": 22
|
"__id__": 17
|
||||||
},
|
},
|
||||||
"duration": 1.5,
|
"duration": 1.5,
|
||||||
"loop": false,
|
"loop": false,
|
||||||
"simulationSpeed": 1,
|
"simulationSpeed": 1,
|
||||||
"playOnAwake": false,
|
"playOnAwake": false,
|
||||||
"gravityModifier": {
|
"gravityModifier": {
|
||||||
"__id__": 23
|
"__id__": 18
|
||||||
},
|
},
|
||||||
"rateOverTime": {
|
"rateOverTime": {
|
||||||
"__id__": 24
|
"__id__": 19
|
||||||
},
|
},
|
||||||
"rateOverDistance": {
|
"rateOverDistance": {
|
||||||
"__id__": 25
|
"__id__": 20
|
||||||
},
|
},
|
||||||
"bursts": [
|
"bursts": [
|
||||||
{
|
{
|
||||||
"__id__": 26
|
"__id__": 21
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_renderCulling": false,
|
"_renderCulling": false,
|
||||||
|
@ -188,37 +188,37 @@
|
||||||
"_dataCulling": false,
|
"_dataCulling": false,
|
||||||
"enableCulling": false,
|
"enableCulling": false,
|
||||||
"_colorOverLifetimeModule": {
|
"_colorOverLifetimeModule": {
|
||||||
"__id__": 28
|
"__id__": 23
|
||||||
},
|
},
|
||||||
"_shapeModule": {
|
"_shapeModule": {
|
||||||
"__id__": 30
|
"__id__": 25
|
||||||
},
|
},
|
||||||
"_sizeOvertimeModule": {
|
"_sizeOvertimeModule": {
|
||||||
"__id__": 32
|
"__id__": 27
|
||||||
},
|
},
|
||||||
"_velocityOvertimeModule": {
|
"_velocityOvertimeModule": {
|
||||||
"__id__": 37
|
"__id__": 32
|
||||||
},
|
},
|
||||||
"_forceOvertimeModule": {
|
"_forceOvertimeModule": {
|
||||||
"__id__": 42
|
"__id__": 37
|
||||||
},
|
},
|
||||||
"_limitVelocityOvertimeModule": {
|
"_limitVelocityOvertimeModule": {
|
||||||
"__id__": 46
|
"__id__": 41
|
||||||
},
|
},
|
||||||
"_rotationOvertimeModule": {
|
"_rotationOvertimeModule": {
|
||||||
"__id__": 51
|
"__id__": 46
|
||||||
},
|
},
|
||||||
"_textureAnimationModule": {
|
"_textureAnimationModule": {
|
||||||
"__id__": 55
|
"__id__": 50
|
||||||
},
|
},
|
||||||
"_noiseModule": {
|
"_noiseModule": {
|
||||||
"__id__": 59
|
"__id__": 53
|
||||||
},
|
},
|
||||||
"_trailModule": {
|
"_trailModule": {
|
||||||
"__id__": 60
|
"__id__": 54
|
||||||
},
|
},
|
||||||
"renderer": {
|
"renderer": {
|
||||||
"__id__": 65
|
"__id__": 59
|
||||||
},
|
},
|
||||||
"_prewarm": false,
|
"_prewarm": false,
|
||||||
"_capacity": 100,
|
"_capacity": 100,
|
||||||
|
@ -231,68 +231,14 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.GradientRange",
|
"__type__": "cc.GradientRange",
|
||||||
"_mode": 4,
|
"_mode": 0,
|
||||||
"gradient": {
|
|
||||||
"__id__": 9
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.Gradient",
|
|
||||||
"colorKeys": [
|
|
||||||
{
|
|
||||||
"__id__": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__id__": 11
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__id__": 12
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"alphaKeys": [
|
|
||||||
{
|
|
||||||
"__id__": 13
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"mode": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.ColorKey",
|
|
||||||
"color": {
|
"color": {
|
||||||
"__type__": "cc.Color",
|
"__type__": "cc.Color",
|
||||||
"r": 255,
|
"r": 255,
|
||||||
"g": 0,
|
|
||||||
"b": 0,
|
|
||||||
"a": 255
|
|
||||||
},
|
|
||||||
"time": 0.25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.ColorKey",
|
|
||||||
"color": {
|
|
||||||
"__type__": "cc.Color",
|
|
||||||
"r": 0,
|
|
||||||
"g": 255,
|
"g": 255,
|
||||||
"b": 51,
|
|
||||||
"a": 255
|
|
||||||
},
|
|
||||||
"time": 0.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.ColorKey",
|
|
||||||
"color": {
|
|
||||||
"__type__": "cc.Color",
|
|
||||||
"r": 0,
|
|
||||||
"g": 173,
|
|
||||||
"b": 255,
|
"b": 255,
|
||||||
"a": 255
|
"a": 255
|
||||||
},
|
}
|
||||||
"time": 0.75
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.AlphaKey",
|
|
||||||
"alpha": 255,
|
|
||||||
"time": 0
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.CurveRange",
|
"__type__": "cc.CurveRange",
|
||||||
|
@ -379,7 +325,7 @@
|
||||||
"_repeatCount": 1,
|
"_repeatCount": 1,
|
||||||
"repeatInterval": 0.01,
|
"repeatInterval": 0.01,
|
||||||
"count": {
|
"count": {
|
||||||
"__id__": 27
|
"__id__": 22
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -392,7 +338,7 @@
|
||||||
"__type__": "cc.ColorOvertimeModule",
|
"__type__": "cc.ColorOvertimeModule",
|
||||||
"_enable": false,
|
"_enable": false,
|
||||||
"color": {
|
"color": {
|
||||||
"__id__": 29
|
"__id__": 24
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -409,8 +355,8 @@
|
||||||
{
|
{
|
||||||
"__type__": "cc.ShapeModule",
|
"__type__": "cc.ShapeModule",
|
||||||
"_enable": true,
|
"_enable": true,
|
||||||
"_shapeType": 4,
|
"_shapeType": 3,
|
||||||
"shapeType": 4,
|
"shapeType": 3,
|
||||||
"emitFrom": 3,
|
"emitFrom": 3,
|
||||||
"alignToDirection": false,
|
"alignToDirection": false,
|
||||||
"randomDirectionAmount": 0,
|
"randomDirectionAmount": 0,
|
||||||
|
@ -421,7 +367,7 @@
|
||||||
"arcMode": 0,
|
"arcMode": 0,
|
||||||
"arcSpread": 0,
|
"arcSpread": 0,
|
||||||
"arcSpeed": {
|
"arcSpeed": {
|
||||||
"__id__": 31
|
"__id__": 26
|
||||||
},
|
},
|
||||||
"length": 5,
|
"length": 5,
|
||||||
"boxThickness": {
|
"boxThickness": {
|
||||||
|
@ -462,16 +408,16 @@
|
||||||
"_enable": false,
|
"_enable": false,
|
||||||
"separateAxes": false,
|
"separateAxes": false,
|
||||||
"size": {
|
"size": {
|
||||||
"__id__": 33
|
"__id__": 28
|
||||||
},
|
},
|
||||||
"x": {
|
"x": {
|
||||||
"__id__": 34
|
"__id__": 29
|
||||||
},
|
},
|
||||||
"y": {
|
"y": {
|
||||||
"__id__": 35
|
"__id__": 30
|
||||||
},
|
},
|
||||||
"z": {
|
"z": {
|
||||||
"__id__": 36
|
"__id__": 31
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -502,16 +448,16 @@
|
||||||
"__type__": "cc.VelocityOvertimeModule",
|
"__type__": "cc.VelocityOvertimeModule",
|
||||||
"_enable": true,
|
"_enable": true,
|
||||||
"x": {
|
"x": {
|
||||||
"__id__": 38
|
"__id__": 33
|
||||||
},
|
},
|
||||||
"y": {
|
"y": {
|
||||||
"__id__": 39
|
"__id__": 34
|
||||||
},
|
},
|
||||||
"z": {
|
"z": {
|
||||||
"__id__": 40
|
"__id__": 35
|
||||||
},
|
},
|
||||||
"speedModifier": {
|
"speedModifier": {
|
||||||
"__id__": 41
|
"__id__": 36
|
||||||
},
|
},
|
||||||
"space": 1
|
"space": 1
|
||||||
},
|
},
|
||||||
|
@ -543,13 +489,13 @@
|
||||||
"__type__": "cc.ForceOvertimeModule",
|
"__type__": "cc.ForceOvertimeModule",
|
||||||
"_enable": false,
|
"_enable": false,
|
||||||
"x": {
|
"x": {
|
||||||
"__id__": 43
|
"__id__": 38
|
||||||
},
|
},
|
||||||
"y": {
|
"y": {
|
||||||
"__id__": 44
|
"__id__": 39
|
||||||
},
|
},
|
||||||
"z": {
|
"z": {
|
||||||
"__id__": 45
|
"__id__": 40
|
||||||
},
|
},
|
||||||
"space": 1
|
"space": 1
|
||||||
},
|
},
|
||||||
|
@ -575,16 +521,16 @@
|
||||||
"__type__": "cc.LimitVelocityOvertimeModule",
|
"__type__": "cc.LimitVelocityOvertimeModule",
|
||||||
"_enable": false,
|
"_enable": false,
|
||||||
"limitX": {
|
"limitX": {
|
||||||
"__id__": 47
|
"__id__": 42
|
||||||
},
|
},
|
||||||
"limitY": {
|
"limitY": {
|
||||||
"__id__": 48
|
"__id__": 43
|
||||||
},
|
},
|
||||||
"limitZ": {
|
"limitZ": {
|
||||||
"__id__": 49
|
"__id__": 44
|
||||||
},
|
},
|
||||||
"limit": {
|
"limit": {
|
||||||
"__id__": 50
|
"__id__": 45
|
||||||
},
|
},
|
||||||
"dampen": 3,
|
"dampen": 3,
|
||||||
"separateAxes": false,
|
"separateAxes": false,
|
||||||
|
@ -616,16 +562,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.RotationOvertimeModule",
|
"__type__": "cc.RotationOvertimeModule",
|
||||||
"_enable": true,
|
"_enable": false,
|
||||||
"_separateAxes": true,
|
"_separateAxes": true,
|
||||||
"x": {
|
"x": {
|
||||||
"__id__": 52
|
"__id__": 47
|
||||||
},
|
},
|
||||||
"y": {
|
"y": {
|
||||||
"__id__": 53
|
"__id__": 48
|
||||||
},
|
},
|
||||||
"z": {
|
"z": {
|
||||||
"__id__": 54
|
"__id__": 49
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -651,20 +597,20 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.TextureAnimationModule",
|
"__type__": "cc.TextureAnimationModule",
|
||||||
"_enable": false,
|
"_enable": true,
|
||||||
"_numTilesX": 0,
|
"_numTilesX": 3,
|
||||||
"numTilesX": 0,
|
"numTilesX": 3,
|
||||||
"_numTilesY": 0,
|
"_numTilesY": 3,
|
||||||
"numTilesY": 0,
|
"numTilesY": 3,
|
||||||
"_mode": 0,
|
"_mode": 0,
|
||||||
"animation": 0,
|
"animation": 0,
|
||||||
"frameOverTime": {
|
"frameOverTime": {
|
||||||
"__id__": 56
|
"__id__": 51
|
||||||
},
|
},
|
||||||
"startFrame": {
|
"startFrame": {
|
||||||
"__id__": 58
|
"__id__": 52
|
||||||
},
|
},
|
||||||
"cycleCount": 0,
|
"cycleCount": 1,
|
||||||
"_flipU": 0,
|
"_flipU": 0,
|
||||||
"_flipV": 0,
|
"_flipV": 0,
|
||||||
"_uvChannelMask": -1,
|
"_uvChannelMask": -1,
|
||||||
|
@ -673,47 +619,11 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.CurveRange",
|
"__type__": "cc.CurveRange",
|
||||||
"mode": 1,
|
"mode": 3,
|
||||||
"spline": {
|
"constantMin": 0,
|
||||||
"__id__": 57
|
"constantMax": 9,
|
||||||
},
|
|
||||||
"multiplier": 1
|
"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",
|
"__type__": "cc.CurveRange",
|
||||||
"mode": 0,
|
"mode": 0,
|
||||||
|
@ -742,21 +652,21 @@
|
||||||
"_enable": false,
|
"_enable": false,
|
||||||
"mode": 0,
|
"mode": 0,
|
||||||
"lifeTime": {
|
"lifeTime": {
|
||||||
"__id__": 61
|
"__id__": 55
|
||||||
},
|
},
|
||||||
"_minParticleDistance": 0.1,
|
"_minParticleDistance": 0.1,
|
||||||
"existWithParticles": true,
|
"existWithParticles": true,
|
||||||
"textureMode": 0,
|
"textureMode": 0,
|
||||||
"widthFromParticle": true,
|
"widthFromParticle": true,
|
||||||
"widthRatio": {
|
"widthRatio": {
|
||||||
"__id__": 62
|
"__id__": 56
|
||||||
},
|
},
|
||||||
"colorFromParticle": false,
|
"colorFromParticle": false,
|
||||||
"colorOverTrail": {
|
"colorOverTrail": {
|
||||||
"__id__": 63
|
"__id__": 57
|
||||||
},
|
},
|
||||||
"colorOvertime": {
|
"colorOvertime": {
|
||||||
"__id__": 64
|
"__id__": 58
|
||||||
},
|
},
|
||||||
"_space": 0,
|
"_space": 0,
|
||||||
"_particleSystem": {
|
"_particleSystem": {
|
||||||
|
@ -808,7 +718,10 @@
|
||||||
"__expectedType__": "cc.Material"
|
"__expectedType__": "cc.Material"
|
||||||
},
|
},
|
||||||
"_gpuMaterial": null,
|
"_gpuMaterial": null,
|
||||||
"_mainTexture": null,
|
"_mainTexture": {
|
||||||
|
"__uuid__": "2a038be3-959b-404f-80ac-2c1223a1db30@6c48a",
|
||||||
|
"__expectedType__": "cc.Texture2D"
|
||||||
|
},
|
||||||
"_useGPU": false,
|
"_useGPU": false,
|
||||||
"_alignSpace": 2
|
"_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",
|
"ver": "1.1.43",
|
||||||
"importer": "prefab",
|
"importer": "prefab",
|
||||||
"imported": true,
|
"imported": true,
|
||||||
"uuid": "f54a7c19-37d5-4255-9336-f6df0e956be7",
|
"uuid": "e96204d7-e516-46d5-8e80-f1f5fda61677",
|
||||||
"files": [
|
"files": [
|
||||||
".json"
|
".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 |