import React, {Fragment} from 'react';
import { View } from 'react-native';

import { Resolver } from './Types';

// EventSystem

export default class Module extends React.Component{

	constructor(props) {
		super(props);
		let {
			ModuleID,
			EventSystem
		} = props;
		let eventName = ModuleID + "HitCheck"
		EventSystem && EventSystem.on(eventName, ({x,y}) => {
			return true;
		});
		//console.log("GEN EV: " , eventName, EventSystem);
	}
	
	componentWillMount() {

	}

	display() {
		throw new Error("You must extend this base Module and override display method!");
	}
	render() {
		return <View ModuleID={this.props.ModuleID} style={{flex:1}} MY_WRAPPER_FROM_BASE_MODULE={true}>
			{this.display()}
		</View>
		// throw new Error("You must extend this base Module and override render method!");
	}

	getProps() {
		return Resolver(this.constructor.Inputs, this.props);
	}
}