示例#1
0
        BehaviorTrigger BehaviorSetter.ReadyBehavior(BehaviorExpression bExpr, BehaviorReadySupport support)
        {
            var unityBRSupport = new BridgeUnityBReadySupport {
                parent = this, clientListener = support, bExpr = bExpr
            };
            var uniTrigger = unityBehaverInternal.ReadyBehavior(bExpr, unityBRSupport);

            if (uniTrigger != null)
            {
                var bridgeTrigger = new BridgeBTriggerFromUnity {
                    parent           = this,
                    bExpr            = bExpr,
                    spaceDistributer = this.parent.defaultSpace.spaceDistributer,
                    unityBTrigger    = uniTrigger
                };
                return(bridgeTrigger);
            }
            var eqLis = new UseOnEquip_EquipListener {
                canEquip = true, customBehaverInstance = myCustomizable, bExpr = bExpr, unityBRSupport = unityBRSupport
            };

            foreach (var equipper in parent.assetMed.assetMed.GetImplementedAssets <MonoBBehaverEquipper>())
            {
                equipper.behaverEquipper.EquipBehaverByBehavior(bExpr, eqLis);
            }
            if (!eqLis.canEquip)
            {
                var seekEqLis = new SeekEQLis {
                    parent = this, bExpr = bExpr
                };
                parent.assetMed.assetMed.SeekAsset(bExpr.asGBlock, seekEqLis);
            }
            return(null);
        }
示例#2
0
 BehaviorTrigger BehaviorSetter.ReadyBehavior(BehaviorExpression bExpr, BehaviorReadySupport reqListener)
 {
     if (bExpr.subject.unit != null)
     {
         var bDef = FindDef(bExpr.subject.unit.word);
         if (bDef != null)
         {
             if (string.Compare(bExpr.verb.word, "begin", true) == 0)
             {
                 return(NewBeginTrigger(bDef));
             }
             if (string.Compare(bExpr.verb.word, "end", false) == 0)
             {
                 bDef.doEndExplicit = true;
                 return(new NamedProcessEndTRigger {
                     behaviorDef = bDef
                 });
             }
         }
     }
     return(null);
 }
示例#3
0
 BehaviorCheckTrigger BehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, BehaviorReadySupport chkReqListener)
 {
     return(null);
 }
示例#4
0
 BehaviorCheckTrigger BehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, BehaviorReadySupport chkReqListener)
 {
     if (string.Compare(bExpr.verb.word, "pass", true) == 0)
     {
         var newTrigger = new CountDownCheckTrigger {
             triggerTime = TimeExpresssionToFloatSec(bExpr.subject)
         };
         triggers.Add(newTrigger);
         return(newTrigger);
     }
     return(null);
 }
示例#5
0
 public BehaviorTrigger ReadyBehavior(BehaviorExpression bExp, BehaviorReadySupport bReqLis)
 {
     return(null);
 }