/**
* @content 点对象功能组件
* @author fjl 2019-6-14 下午2:52:36
*/
import { NativeModules } from 'react-native';
let X = NativeModules.JSDot;
/**
* @class Dot
*/
export default class Dot {
/**
* 构造一个新的 Dot 对象。
* @memberOf Dot
* @returns {Promise.<Dot>}
*/
async createObj() {
try {
if (
typeof arguments[0] === 'number' &&
typeof arguments[1] === 'number'
) {
var { point2DId } = await X.createObjByXY(arguments[0], arguments[1]);
var dot = new Dot();
dot._MGDotId = point2DId;
return dot;
} else {
var { point2DId } = await X.createObj();
var dot = new Dot();
dot._MGDotId = point2DId;
return dot;
}
} catch (e) {
console.error(e);
}
}
/**
* 获取X坐标
* @memberOf Dot
* @returns {Promise<*>}
*/
async getX() {
try {
let x = await X.getX(this._MGDotId);
return x;
} catch (e) {
console.error(e);
}
}
/**
* 获取Y坐标
* @memberOf Dot
* @returns {Promise<*>}
*/
async getY() {
try {
let y = await X.getY(this._MGDotId);
return y;
} catch (e) {
console.error(e);
}
}
/**
* 判断Dot对象是否有效或是否可用
*
* @memberof Dot
* @returns {boolean} true:有效;false:无效
*/
isValid(){
try {
if(this._MGDotId === undefined || this._MGDotId === null){
return false;
} else {
return true;
}
} catch (e) {
console.error(e);
}
}
}