Skip to content
DataCenterC

[Base Class](../groups/Extension.Base Class.md) / DataCenterC

DataCenterC Class ​

The client data center stores the data of the current Player

Usage example: create a script named DataCenterCExample, place it in the object bar, open the script, modify the original content as follows, save and run the game, and you will see the Player data is ready and the Player level is 0 in the client log

ts
@Component
export default class DataCenterCExample extends Script {

    protected onStart(): void {
        this.traceLevel();
    }

    //Wait for Player data to be ready and output the level of Player data
    public async traceLevel(): Promise<void> {
        if (SystemUtil.isClient()) {
            //Wait for Player data to be ready
            await DataCenterC.ready();
            Console.log ("Player data ready");
            let playerData = DataCenterC.getData(PlayerModuleData);
            Console. log ("Player level:", playerData. getlevel());
        }
    }
}

class PlayerModuleData extends Subdata {
    @Decorator.persistence()
    private level: number = 0;

    public getlevel(): number {
        return this.level;
    }
}
@Component
export default class DataCenterCExample extends Script {

    protected onStart(): void {
        this.traceLevel();
    }

    //Wait for Player data to be ready and output the level of Player data
    public async traceLevel(): Promise<void> {
        if (SystemUtil.isClient()) {
            //Wait for Player data to be ready
            await DataCenterC.ready();
            Console.log ("Player data ready");
            let playerData = DataCenterC.getData(PlayerModuleData);
            Console. log ("Player level:", playerData. getlevel());
        }
    }
}

class PlayerModuleData extends Subdata {
    @Decorator.persistence()
    private level: number = 0;

    public getlevel(): number {
        return this.level;
    }
}

Table of contents ​

Properties ​

onInitResult: Action2<number, string>
Delegate of data initialization result, the parameters are: result code (0- success, 1- failure to load data form 2- failure to load sub data), error content

Methods ​

getData<T: extends Subdata<T>>(SubdataType: TypeName<T: extends Subdata<T>>): T: extends Subdata<T> other
Obtain data for the current player
ready(): Promise<void> other
Determine if the data is ready

Properties ​

onInitResult ​

▪ Static Readonly onInitResult: Action2<number, string>

Delegate of data initialization result, the parameters are: result code (0- success, 1- failure to load data form 2- failure to load sub data), error content

Methods ​

getData ​

• Static getData<T>(SubdataType): T other

Obtain data for the current player

Parameters ​

SubdataType TypeName<T>data type

Returns ​

Tdata object

Usage example: create a script named DataCenterCExample, place it in the object bar, open the script, modify the original content to the following, save and run the game, and you will see the information of Player whose level is 0 in the client log

ts
@Component
export default class DataCenterCExample extends Script {

    protected onStart(): void {
        this.traceLevel();
    }

    //Wait for Player data to be ready and output the level of Player data
    public async traceLevel(): Promise<void> {
        if (SystemUtil.isClient()) {
            //Wait for Player data to be ready
            await DataCenterC.ready();
            let playerData = DataCenterC.getData(PlayerModuleData);
            Console. log ("Player level:", playerData. getlevel());
        }
    }
}

class PlayerModuleData extends Subdata {
    @Decorator.persistence()
    private level: number = 0;

    public getlevel(): number {
        return this.level;
    }
}
@Component
export default class DataCenterCExample extends Script {

    protected onStart(): void {
        this.traceLevel();
    }

    //Wait for Player data to be ready and output the level of Player data
    public async traceLevel(): Promise<void> {
        if (SystemUtil.isClient()) {
            //Wait for Player data to be ready
            await DataCenterC.ready();
            let playerData = DataCenterC.getData(PlayerModuleData);
            Console. log ("Player level:", playerData. getlevel());
        }
    }
}

class PlayerModuleData extends Subdata {
    @Decorator.persistence()
    private level: number = 0;

    public getlevel(): number {
        return this.level;
    }
}

Type parameters ​

Textends Subdata<T>

ready ​

• Static ready(): Promise<void> other

Determine if the data is ready

Returns ​

Promise<void>True - ready fall - not ready