Ejemplo n.º 1
0
 public StdInterpreterPackage(ConfigurableEWRIptrFactory factory, ImmediateGiver <Behaver, GrammarBlock> behaverGiver)
 {
     _fAnalyser        = factory.NewConfigurableFAnalyser();
     _gAnalyser        = factory.NewConfigurableGAnalyser();
     _bAnalyser        = factory.NewConfigurableBAnalyser(behaverGiver);
     _configurableIptr = factory.NewNativeConfigurableERWInterpreter();
     _configurableIptr.SetFAnalyser(_fAnalyser);
     _configurableIptr.SetGAnalyser(_gAnalyser);
     _configurableIptr.SetBAnalyser(_bAnalyser);
 }
Ejemplo n.º 2
0
        public static IEnumerable <BehaviorTrigger> TriggerNameListToTriggerList(ImmediateGiver <BehaviorTrigger, string> baseTrigger, IEnumerable <string> triggerNames)
        {
            var triggerList = new List <BehaviorTrigger>();

            foreach (var triggerName in triggerNames)
            {
                var unitProcess = baseTrigger.PickBestElement(triggerName);
                triggerList.Add(unitProcess);
            }
            return(triggerList);
        }
Ejemplo n.º 3
0
 public BehaverFactoryBridge(ImmediateGiver <Behaver, GrammarBlock> _behaverGiver, BridgeHelperFactoryBridge _helperFactory)
 {
     behaverGiver = _behaverGiver;
     behaverFrontFactoryCallback = (factoryAgent, baseAttributeGBlock) => {
         try {
             var picked = behaverGiver.PickBestElement(NativeGrammarBlockUtils.GBlockPtrToGBlock(baseAttributeGBlock));
             if (picked != null)
             {
                 behavers.Add(new BehaverBridge(picked, _helperFactory));
                 ReadyBehaver(factoryAgent, behavers.Last().matchAttributeCallback, behavers.Last().setBehaviorCallback, behavers.Last().checkBehaviorCallback);
             }
         } catch (System.Exception e) {
             Debug.LogError(e);
         }
     };
     nativeFactoryPtr = _helperFactory.NewBehaverFactory(behaverFrontFactoryCallback);
 }
Ejemplo n.º 4
0
        public ConfigurableBAnalyserBridge NewConfigurableBAnalyser(ImmediateGiver <Behaver, GrammarBlock> behaverFactory)
        {
            var factoryBridge = new BehaverFactoryBridge(behaverFactory, helperFactory);

            factory.Add(factoryBridge);
            var anlys = new ConfigurableBAnalyserBridge {
                helperFactory = helperFactory, implPtr = NewConfigurableBAnalyser(implPtr, factoryBridge.nativeFactoryPtr)
            };

            if (nativeBehaverGetter != null)
            {
                nativeBehaverGetter.GetElement(new NativeBehaverGetter {
                    bAnlys = anlys
                });
            }
            return(anlys);
        }