[fix] HoldButton 點擊事件衝突
This commit is contained in:
@@ -114,22 +114,29 @@ export class Badminton extends cc.Component {
|
||||
|
||||
protected onLoad(): void {
|
||||
Badminton._instance = this;
|
||||
let self: this = this;
|
||||
new LocalStorageData();
|
||||
this.config.Init();
|
||||
this.record.Init();
|
||||
CoroutineV2.Parallel(
|
||||
this.Lobby.Show(),
|
||||
this.ScoreBoard.Show(),
|
||||
).Start();
|
||||
if (this.HistoryPanel != null) {
|
||||
this.HistoryPanel.LoadRecord();
|
||||
this.HistoryPanel.Hide();
|
||||
CoroutineV2.Single(this.HistoryPanel.Hide()).Start();
|
||||
}
|
||||
// textToSpeech = FindObjectOfType<TextToSpeech>();
|
||||
let AsyncFunction: () => IterableIterator<any> = function* (): IterableIterator<any> {
|
||||
yield CoroutineV2.Parallel(
|
||||
self.config.Init(),
|
||||
self.record.Init(),
|
||||
).Start();
|
||||
CoroutineV2.Parallel(
|
||||
self.Lobby.Show(),
|
||||
self.ScoreBoard.Show(),
|
||||
).Start();
|
||||
if (self.HistoryPanel != null) {
|
||||
self.HistoryPanel.LoadRecord();
|
||||
self.HistoryPanel.Hide();
|
||||
CoroutineV2.Single(self.HistoryPanel.Hide()).Start();
|
||||
}
|
||||
// textToSpeech = FindObjectOfType<TextToSpeech>();
|
||||
CoroutineV2.Single(self.Show()).Start();
|
||||
};
|
||||
CoroutineV2.Single(AsyncFunction()).Start();
|
||||
}
|
||||
|
||||
protected start(): void {
|
||||
public *Show(): IterableIterator<any> {
|
||||
CoroutineV2.Single(this.ScoreBoard.Hide()).Start();
|
||||
this._initUI();
|
||||
// LoadStatus();
|
||||
@@ -147,6 +154,7 @@ export class Badminton extends cc.Component {
|
||||
//#region Custom
|
||||
|
||||
private _initUI(): void {
|
||||
let self: this = this;
|
||||
this._updateCurSelMember();
|
||||
// this.toggleItem.gameObject.SetActive(false);
|
||||
// this.teamItem.gameObject.SetActive(false);
|
||||
@@ -166,20 +174,17 @@ export class Badminton extends cc.Component {
|
||||
for (let idx: number = 0; idx < this.TeamMemberList.length; idx++) {
|
||||
let memberName: string = this.TeamMemberList[idx].Name;
|
||||
let item: cc.Toggle = parent.ExAddChild(this.toggleItem).getComponent(cc.Toggle);
|
||||
item.node.getChildByName("Label").getComponent(cc.Label).string = memberName;
|
||||
item.node.getChildByName("Name").getComponent(cc.Label).string = memberName;
|
||||
item.node.active = true;
|
||||
item.node.getChildByName("Btn_Del").on("click", () => { this.OnDelMember(idx); }, this);
|
||||
let picObj: cc.Node = item.node.getChildByName("Avatar").getChildByName("Pic");
|
||||
if (picObj != null) {
|
||||
picObj.getComponent(cc.Sprite).spriteFrame = this.config.GetAvatarPicById(this.TeamMemberList[idx].AvatarId);
|
||||
// let EventHandler: cc.Component.EventHandler = new cc.Component.EventHandler();
|
||||
// EventHandler.target = this.node;
|
||||
// EventHandler.component = this.name.split("<")[1].split(">")[0];
|
||||
// EventHandler.handler = "OnChangeAvatar";
|
||||
// EventHandler.customEventData = idx.toString();
|
||||
// picObj.getComponent(HoldButton).OnInvoke.push(EventHandler);
|
||||
picObj.getComponent(HoldButton).OnInvoke.AddListener(() => { this.OnChangeAvatar(idx); });
|
||||
picObj.on("click", () => { item.isChecked = !item.isChecked; }, this);
|
||||
picObj.parent.getComponent(HoldButton).OnInvoke.AddListener(() => { this.OnChangeAvatar(idx); });
|
||||
picObj.parent.on("click", () => {
|
||||
item.isChecked = !item.isChecked;
|
||||
self._onChangeSelMember(item);
|
||||
}, this);
|
||||
}
|
||||
this._m_toggleList.push(item);
|
||||
|
||||
@@ -239,7 +244,7 @@ export class Badminton extends cc.Component {
|
||||
this.CurMemberList.Clear();
|
||||
this._m_toggleList.forEach((member: cc.Toggle) => {
|
||||
if (member.isChecked) {
|
||||
this.CurMemberList.push(member.node.getChildByName("Label").getComponent(cc.Label).string);
|
||||
this.CurMemberList.push(member.node.getChildByName("Name").getComponent(cc.Label).string);
|
||||
}
|
||||
});
|
||||
if (this.TeamMemberList != null && this.TeamMemberList.length > 0) {
|
||||
@@ -255,7 +260,7 @@ export class Badminton extends cc.Component {
|
||||
break;
|
||||
}
|
||||
for (let j: number = 0; j < 2; j++) {
|
||||
let memberName: string = team.getChildByName("Member_" + (j + 1) + "/Text").getComponent(cc.Label).string;
|
||||
let memberName: string = team.getChildByName("Member_" + (j + 1)).getChildByName("Name").getComponent(cc.Label).string;
|
||||
chkMemberList.push(memberName);
|
||||
}
|
||||
}
|
||||
@@ -268,7 +273,7 @@ export class Badminton extends cc.Component {
|
||||
}
|
||||
|
||||
private _updateTeamShow(chkMemberList: string[]): void {
|
||||
let teamCount: number = chkMemberList.length / 2;
|
||||
let teamCount: number = Math.floor(chkMemberList.length / 2);
|
||||
let maxTeam: number = Math.ceil(chkMemberList.length / 2.0);
|
||||
while (this._m_teamList.length > maxTeam) {
|
||||
this._m_teamList[this._m_teamList.length - 1].destroy();
|
||||
@@ -285,8 +290,8 @@ export class Badminton extends cc.Component {
|
||||
} else {
|
||||
obj = this._m_teamList[i];
|
||||
}
|
||||
obj.getChildByName("Member_1").getChildByName("Text").getComponent(cc.Label).string = "";
|
||||
obj.getChildByName("Member_2").getChildByName("Text").getComponent(cc.Label).string = "";
|
||||
obj.getChildByName("Member_1").getChildByName("Name").getComponent(cc.Label).string = "";
|
||||
obj.getChildByName("Member_2").getChildByName("Name").getComponent(cc.Label).string = "";
|
||||
obj.getChildByName("Member_1").getComponent(cc.Sprite).enabled = false;
|
||||
obj.getChildByName("Member_2").getComponent(cc.Sprite).enabled = false;
|
||||
obj.active = false;
|
||||
@@ -309,7 +314,7 @@ export class Badminton extends cc.Component {
|
||||
chkMemberList.ExRemoveAt(0);
|
||||
}
|
||||
|
||||
team.getChildByName("Member_" + (j + 1) + "/Text").getComponent(cc.Label).string = name;
|
||||
team.getChildByName("Member_" + (j + 1)).getChildByName("Name").getComponent(cc.Label).string = name;
|
||||
team.getChildByName("Member_" + (j + 1)).getComponent(cc.Sprite).enabled = name !== this.GetDefaultMemberName();
|
||||
team.getChildByName("Member_" + (j + 1)).getComponent(cc.Sprite).spriteFrame = this.config.GetAvatarPicByName(name);
|
||||
team.active = true;
|
||||
@@ -319,8 +324,8 @@ export class Badminton extends cc.Component {
|
||||
let name_1: string = chkMemberList[0];
|
||||
let name_2: string = this.GetDefaultMemberName();
|
||||
let team: cc.Node = this._m_teamList[teamCount];
|
||||
team.getChildByName("Member_1").getChildByName("Text").getComponent(cc.Label).string = name_1;
|
||||
team.getChildByName("Member_2").getChildByName("Text").getComponent(cc.Label).string = name_2;
|
||||
team.getChildByName("Member_1").getChildByName("Name").getComponent(cc.Label).string = name_1;
|
||||
team.getChildByName("Member_2").getChildByName("Name").getComponent(cc.Label).string = name_2;
|
||||
team.getChildByName("Member_1").getComponent(cc.Sprite).enabled = true;
|
||||
team.getChildByName("Member_1").getComponent(cc.Sprite).spriteFrame = this.config.GetAvatarPicByName(name_1);
|
||||
team.getChildByName("No").getComponent(cc.Label).string = (index + 1).toString();
|
||||
@@ -347,6 +352,55 @@ export class Badminton extends cc.Component {
|
||||
// this.AvatarPanel.OpenChange(teamMemberList[index]);
|
||||
}
|
||||
|
||||
public LoadStatus(): void {
|
||||
// console.log("LoadStatus ======= ");
|
||||
// try {
|
||||
// let members: string[] = this.TeamMemberList.map(m => Object.values(m)[0]);
|
||||
// var str_member = PlayerPrefs.GetString("member", "[]");
|
||||
// var str_avatar = PlayerPrefs.GetString("avatar", "[]");
|
||||
// List < string > member_list = ((List<object>)MiniJSON.Json.Deserialize(str_member)).ConvertAll((val) => ((string)val).Trim());
|
||||
// List < int > avatar_list = ((List<object>)MiniJSON.Json.Deserialize(str_avatar)).ConvertAll((val) => (int)(long)val);
|
||||
// for (int i = 0; i < member_list.Count; i++)
|
||||
// {
|
||||
// string member = member_list[i];
|
||||
// if (!members.Contains(member)) {
|
||||
// if (member != GetDefaultMemberName()) {
|
||||
// teamMemberList.Add(new MemberData() { name = member, avatarId = avatar_list[i] });
|
||||
// }
|
||||
// }
|
||||
// else {
|
||||
// teamMemberList.Find((m) => m.name == member).avatarId = avatar_list[i];
|
||||
// }
|
||||
// }
|
||||
// curMemberList.Clear();
|
||||
// foreach(Toggle member in m_toggleList) { member.isOn = false; }
|
||||
// curMemberList = member_list.ConvertAll(v => v);
|
||||
// //curMemberList = member_list;
|
||||
// InitUI();
|
||||
|
||||
// for (int i = 0; i < member_list.Count; i++)
|
||||
// {
|
||||
// string member = member_list[i];
|
||||
// int index = members.IndexOf(member);
|
||||
// if (index != -1) {
|
||||
// m_toggleList[index].isOn = true;
|
||||
// }
|
||||
// else {
|
||||
// // 那個
|
||||
// }
|
||||
// }
|
||||
// UpdateTeamShow(member_list);
|
||||
// //updateCurSelMember();
|
||||
// LoadScoreResult();
|
||||
// voicePanel.SetProps(MiniJSON.Json.Deserialize(PlayerPrefs.GetString("voice", "null")) as Dictionary<string, object>);
|
||||
// UpdateGameResult();
|
||||
// }
|
||||
// catch (System.Exception err)
|
||||
// {
|
||||
// Debug.Log(err);
|
||||
// }
|
||||
}
|
||||
|
||||
//#endregion
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
|
||||
import LocalStorageData from "../Engine/Data/LocalStorageData";
|
||||
import { CoroutineV2 } from "../Engine/CatanEngine/CoroutineV2/CoroutineV2";
|
||||
import AvatarSettings from "../Settings/AvatarSettings";
|
||||
import GameConfig from "../Settings/GameConfig";
|
||||
import { Badminton } from "./Badminton";
|
||||
import { AvatarData, AvatarSettings, GameConfig, MemberData } from "./MemberData";
|
||||
import { AvatarData, MemberData } from "./MemberData";
|
||||
|
||||
/** ConfigManager */
|
||||
export default class ConfigManager {
|
||||
@@ -24,17 +26,29 @@ export default class ConfigManager {
|
||||
this.Main = mainControl;
|
||||
}
|
||||
|
||||
public Init(): void {
|
||||
this.LoadMemberList();
|
||||
this.LoadAvatarSettings();
|
||||
public *Init(): IterableIterator<any> {
|
||||
yield CoroutineV2.Parallel(
|
||||
this.LoadMemberList(),
|
||||
this.LoadAvatarSettings()
|
||||
).Start();
|
||||
}
|
||||
|
||||
public LoadMemberList(): void {
|
||||
public *LoadMemberList(): IterableIterator<any> {
|
||||
let teamMemberList: MemberData[] = this.Main.TeamMemberList;
|
||||
if (teamMemberList == null) {
|
||||
this.Main.TeamMemberList = teamMemberList = [];
|
||||
}
|
||||
let request: GameConfig = (<GameConfig>JSON.parse(LocalStorageData.Instance.GameConfig));
|
||||
let request: GameConfig;
|
||||
cc.resources.load("GameConfig", function (err: Error, prefab: cc.Prefab): void {
|
||||
if (err) {
|
||||
console.error(`resources.load GameConfig error: ${err}`);
|
||||
return;
|
||||
}
|
||||
request = prefab.data.getComponent(GameConfig);
|
||||
});
|
||||
while (!request) {
|
||||
yield null;
|
||||
}
|
||||
if (request != null) {
|
||||
let members: string[] = teamMemberList.map(m => Object.values(m)[0]);
|
||||
|
||||
@@ -43,11 +57,23 @@ export default class ConfigManager {
|
||||
teamMemberList.push(new MemberData(request.Members[i]));
|
||||
}
|
||||
}
|
||||
this.Main.TeamMemberList = teamMemberList;
|
||||
}
|
||||
}
|
||||
|
||||
public LoadAvatarSettings(): void {
|
||||
let request: AvatarSettings = (<AvatarSettings>JSON.parse(LocalStorageData.Instance.AvatarSettings));
|
||||
public *LoadAvatarSettings(): IterableIterator<any> {
|
||||
// let request: AvatarSettings = (<AvatarSettings>JSON.parse(LocalStorageData.Instance.AvatarSettings));
|
||||
let request: AvatarSettings;
|
||||
cc.resources.load("AvatarSettings", function (err: Error, prefab: cc.Prefab): void {
|
||||
if (err) {
|
||||
console.error(`resources.load AvatarSettings error: ${err}`);
|
||||
return;
|
||||
}
|
||||
request = prefab.data.getComponent(AvatarSettings);
|
||||
});
|
||||
while (!request) {
|
||||
yield null;
|
||||
}
|
||||
if (request != null) {
|
||||
this.Avatars = request.Avatars;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
const { ccclass, property } = cc._decorator;
|
||||
|
||||
//#region Enum
|
||||
|
||||
/** AvatarColor */
|
||||
export enum AvatarColor {
|
||||
None,
|
||||
Pink,
|
||||
Yellow
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Class
|
||||
|
||||
/** 成員資料 */
|
||||
@@ -21,25 +32,63 @@ export class MemberData {
|
||||
}
|
||||
|
||||
/** AvatarData */
|
||||
@ccclass("AvatarData")
|
||||
export class AvatarData {
|
||||
|
||||
public ID: number;
|
||||
@property()
|
||||
public ID: number = 0;
|
||||
|
||||
public Model: number;
|
||||
@property()
|
||||
public Model: number = 0;
|
||||
|
||||
public Name: string;
|
||||
@property()
|
||||
public Name: string = "";
|
||||
|
||||
public Desc: string;
|
||||
@property()
|
||||
public Desc: string = "";
|
||||
|
||||
public Pic: cc.SpriteFrame;
|
||||
@property({ type: cc.SpriteFrame })
|
||||
public Pic: cc.SpriteFrame = null;
|
||||
|
||||
public BigPic: cc.SpriteFrame;
|
||||
@property({ type: cc.SpriteFrame })
|
||||
public BigPic: cc.SpriteFrame = null;
|
||||
|
||||
public BG: cc.SpriteFrame;
|
||||
@property({ type: cc.SpriteFrame })
|
||||
public BG: cc.SpriteFrame = null;
|
||||
|
||||
public color: AvatarColor;
|
||||
@property({ type: cc.Enum(AvatarColor) })
|
||||
public color: AvatarColor = AvatarColor.None;
|
||||
}
|
||||
|
||||
// /** AvatarData */
|
||||
// @ccclass
|
||||
// export class AvatarData extends cc.Component {
|
||||
|
||||
// // @property()
|
||||
// // public ID: number = 0;
|
||||
|
||||
// // @property()
|
||||
// // public Model: number = 0;
|
||||
|
||||
// // @property()
|
||||
// // public Name: string = "";
|
||||
|
||||
// // @property()
|
||||
// // public Desc: string = "";
|
||||
|
||||
// // @property({ type: cc.SpriteFrame })
|
||||
// // public Pic: cc.SpriteFrame = null;
|
||||
|
||||
// // @property({ type: cc.SpriteFrame })
|
||||
// // public BigPic: cc.SpriteFrame = null;
|
||||
|
||||
// // @property({ type: cc.SpriteFrame })
|
||||
// // public BG: cc.SpriteFrame = null;
|
||||
|
||||
// // @property({ type: cc.Enum(AvatarColor) })
|
||||
// // public color: AvatarColor;
|
||||
// }
|
||||
|
||||
/** 分數結果 */
|
||||
export class ScoreResult {
|
||||
|
||||
@@ -73,29 +122,4 @@ export class GameRecord {
|
||||
public Score: number[];
|
||||
}
|
||||
|
||||
/** GameConfig */
|
||||
export class GameConfig {
|
||||
|
||||
/** Members */
|
||||
public Members: string[];
|
||||
}
|
||||
|
||||
/** AvatarSettings */
|
||||
export class AvatarSettings {
|
||||
|
||||
/** Avatars */
|
||||
public Avatars: AvatarData[];
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Enum
|
||||
|
||||
/** AvatarColor */
|
||||
export enum AvatarColor {
|
||||
None,
|
||||
Pink,
|
||||
Yellow
|
||||
}
|
||||
|
||||
//#endregion
|
||||
@@ -19,7 +19,7 @@ export default class RecordManager {
|
||||
this.Main = badminton;
|
||||
}
|
||||
|
||||
public Init(): any {
|
||||
public *Init(): IterableIterator<any> {
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
@@ -30,9 +30,6 @@ export default class HoldButton extends cc.Component {
|
||||
|
||||
//#region private
|
||||
|
||||
/** 按钮的点击事件列表 */
|
||||
private _clickEvents: cc.Component.EventHandler[] = [];
|
||||
|
||||
private _isOnInvoke: boolean = false;
|
||||
|
||||
private _m_isMouseDown: boolean = false;
|
||||
@@ -44,8 +41,6 @@ export default class HoldButton extends cc.Component {
|
||||
//#region Lifecycle
|
||||
|
||||
protected start(): void {
|
||||
this._clickEvents = Array.from(this.getComponent(cc.Button).clickEvents);
|
||||
this.getComponent(cc.Button).clickEvents.Clear();
|
||||
if (this.HoldLine != null) {
|
||||
this.HoldLine.active = false;
|
||||
}
|
||||
@@ -86,6 +81,8 @@ export default class HoldButton extends cc.Component {
|
||||
}
|
||||
|
||||
if (this._m_pressDeltaTime > this.MaxTime) {
|
||||
this.node.pauseSystemEvents(true);
|
||||
|
||||
this._isOnInvoke = true;
|
||||
this._m_isMouseDown = false;
|
||||
if (this.IsHaveHoldLine) {
|
||||
@@ -94,7 +91,7 @@ export default class HoldButton extends cc.Component {
|
||||
this._m_pressDeltaTime = 0;
|
||||
if (this.OnInvoke != null) {
|
||||
this.OnInvoke.forEach((eventHandler: cc.Component.EventHandler) => {
|
||||
if (eventHandler.target === <any>"AddListener" && eventHandler.component === "AddListener" && eventHandler.handler) {
|
||||
if (eventHandler.target === <any>"Callback" && eventHandler.component === "Callback" && eventHandler.handler) {
|
||||
(<Function><unknown>eventHandler.handler)();
|
||||
} else {
|
||||
eventHandler.emit([this.node.getComponent(cc.Button)]);
|
||||
@@ -119,31 +116,23 @@ export default class HoldButton extends cc.Component {
|
||||
}
|
||||
|
||||
private _onTouchEnd(event: cc.Event.EventTouch): void {
|
||||
this.node.resumeSystemEvents(true);
|
||||
this._m_isMouseDown = false;
|
||||
this._m_pressDeltaTime = 0;
|
||||
if (this.IsHaveHoldLine) {
|
||||
this.HoldLine.active = false;
|
||||
}
|
||||
if (!this._isOnInvoke) {
|
||||
this._clickEvents.forEach((eventHandler: cc.Component.EventHandler) => {
|
||||
eventHandler.emit([this.node.getComponent(cc.Button)]);
|
||||
});
|
||||
}
|
||||
this._isOnInvoke = false;
|
||||
this._checkHoldAutoStart(0);
|
||||
}
|
||||
|
||||
private _onTouchCancel(event: cc.Event.EventTouch): void {
|
||||
this.node.resumeSystemEvents(true);
|
||||
this._m_isMouseDown = false;
|
||||
this._m_pressDeltaTime = 0;
|
||||
if (this.IsHaveHoldLine) {
|
||||
this.HoldLine.active = false;
|
||||
}
|
||||
if (!this._isOnInvoke) {
|
||||
this._clickEvents.forEach((eventHandler: cc.Component.EventHandler) => {
|
||||
eventHandler.emit([this.node.getComponent(cc.Button)]);
|
||||
});
|
||||
}
|
||||
this._isOnInvoke = false;
|
||||
this._checkHoldAutoStart(0);
|
||||
}
|
||||
|
||||
@@ -10,8 +10,8 @@ export default class LocalStorageData {
|
||||
}
|
||||
|
||||
// =======================================================================================
|
||||
public get GameConfig(): string { return cc.sys.localStorage.getItem("GameConfig"); }
|
||||
public set GameConfig(value: string) { cc.sys.localStorage.setItem("GameConfig", value); }
|
||||
// public get GameConfig(): string { return cc.sys.localStorage.getItem("GameConfig"); }
|
||||
// public set GameConfig(value: string) { cc.sys.localStorage.setItem("GameConfig", value); }
|
||||
|
||||
public get AvatarSettings(): string { return cc.sys.localStorage.getItem("AvatarSettings"); }
|
||||
public set AvatarSettings(value: string) { cc.sys.localStorage.setItem("AvatarSettings", value); }
|
||||
|
||||
@@ -22,18 +22,6 @@ declare interface Array<T> {
|
||||
AddListener(call: Function): void;
|
||||
}
|
||||
|
||||
Array.prototype.AddListener || Object.defineProperty(Array.prototype, "AddListener", {
|
||||
enumerable: false,
|
||||
value: function (call: Function): void {
|
||||
let EventHandler: cc.Component.EventHandler = new cc.Component.EventHandler();
|
||||
EventHandler.target = <any>"AddListener";
|
||||
EventHandler.component = "AddListener";
|
||||
EventHandler.handler = <any>call;
|
||||
this.push(EventHandler);
|
||||
console.log(`AddListener`);
|
||||
}
|
||||
});
|
||||
|
||||
Array.prototype.ExRemoveAt || Object.defineProperty(Array.prototype, "ExRemoveAt", {
|
||||
enumerable: false,
|
||||
value: function (index: number): any {
|
||||
@@ -93,4 +81,15 @@ Array.prototype.ObjectSort || Object.defineProperty(Array.prototype, "ObjectSort
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
});
|
||||
|
||||
Array.prototype.AddListener || Object.defineProperty(Array.prototype, "AddListener", {
|
||||
enumerable: false,
|
||||
value: function (call: Function): void {
|
||||
let EventHandler: cc.Component.EventHandler = new cc.Component.EventHandler();
|
||||
EventHandler.target = <any>"Callback";
|
||||
EventHandler.component = "Callback";
|
||||
EventHandler.handler = <any>call;
|
||||
this.push(EventHandler);
|
||||
}
|
||||
});
|
||||
12
assets/Script/Settings.meta
Normal file
12
assets/Script/Settings.meta
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"ver": "1.1.2",
|
||||
"uuid": "3e53f15a-91ce-4567-8215-226ec95a0916",
|
||||
"isBundle": false,
|
||||
"bundleName": "",
|
||||
"priority": 1,
|
||||
"compressionType": {},
|
||||
"optimizeHotUpdate": {},
|
||||
"inlineSpriteFrames": {},
|
||||
"isRemoteBundle": {},
|
||||
"subMetas": {}
|
||||
}
|
||||
13
assets/Script/Settings/AvatarSettings.ts
Normal file
13
assets/Script/Settings/AvatarSettings.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { AvatarData } from "../Badminton/MemberData";
|
||||
|
||||
const { ccclass, property } = cc._decorator;
|
||||
|
||||
@ccclass
|
||||
export default class AvatarSettings extends cc.Component {
|
||||
//#region property
|
||||
|
||||
@property({ type: [AvatarData] })
|
||||
public Avatars: AvatarData[] = [];
|
||||
|
||||
//#endregion
|
||||
}
|
||||
9
assets/Script/Settings/AvatarSettings.ts.meta
Normal file
9
assets/Script/Settings/AvatarSettings.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.0.8",
|
||||
"uuid": "fdefeb01-d27d-4efb-80b8-bc50efad3e18",
|
||||
"isPlugin": false,
|
||||
"loadPluginInWeb": true,
|
||||
"loadPluginInNative": true,
|
||||
"loadPluginInEditor": false,
|
||||
"subMetas": {}
|
||||
}
|
||||
11
assets/Script/Settings/GameConfig.ts
Normal file
11
assets/Script/Settings/GameConfig.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
const { ccclass, property } = cc._decorator;
|
||||
|
||||
@ccclass
|
||||
export default class GameConfig extends cc.Component {
|
||||
//#region property
|
||||
|
||||
@property({ type: [cc.String] })
|
||||
public Members: string[] = [];
|
||||
|
||||
//#endregion
|
||||
}
|
||||
9
assets/Script/Settings/GameConfig.ts.meta
Normal file
9
assets/Script/Settings/GameConfig.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.0.8",
|
||||
"uuid": "f71e5db1-de2b-4f7a-8f2b-27389a68724e",
|
||||
"isPlugin": false,
|
||||
"loadPluginInWeb": true,
|
||||
"loadPluginInNative": true,
|
||||
"loadPluginInEditor": false,
|
||||
"subMetas": {}
|
||||
}
|
||||
Reference in New Issue
Block a user