internal void OnEnable()
        {
            if (!followCamera)
            {
                Debug.LogError("no camera found");
                return;
            }
            FileTools.Start();
            //LuaManager.Init();
            //new Lua_Starter(() => { Debug.Log("lua init complete"); }).Start();
            GameObject o = GameObject.Find("HudCanvas");

            if (o)
            {
                HudManager.panel = o.GetComponent <RectTransform>();
            }
            _hostEntity = new TestHost(gameObject, speed);
            _hostEntity.Initialize();
            MachineWrap.Init();
            TreeWrap.Init();
            string stream = FileTools.wwwStreamingAssetsPath;

            if (string.IsNullOrEmpty(stream))
            {
                return;
            }
            CpxRetriever r = new CpxRetriever {
                actionRetriever    = CpxMachineFactory.GetAction,
                stateRetriever     = CpxMachineFactory.GetState,
                conditionRetriever = CpxMachineFactory.GetCondition
            };

            MachineFactory.Start();
            MachineChart  m    = MachineFileManager.Load(AssetDatabase.GetAssetPath(machineFile));
            CpxController ctrl = new ChartToMachine().Transfer(m, r);

            _hostEntity.runtimeController.Inititalize(ctrl);
            TreeEditorFactory.Start();
            _fireSettings = new FireFxRoot[_fxAssets.Length];
            for (int i = 0, len = _fireSettings.Length; i < len; i++)
            {
                _fireSettings[i] = GetFireSetting(_fxAssets[i]);
            }
        }