Beispiel #1
0
 void BehaverEquipper.EquipBehaverByBehavior(BehaviorExpression bevrExpr, BehaverEquipListener listener)
 {
     foreach (var equipper in equippers)
     {
         equipper.EquipBehaverByBehavior(bevrExpr, listener);
     }
 }
Beispiel #2
0
        BehaviorCheckTrigger BehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, BehaviorReadySupport support)
        {
            var unityBRSupport = new BridgeUnityBReadySupport {
                parent = this, clientListener = support, bExpr = bExpr
            };
            var unityTrigger  = unityBehaverInternal.ReadyCheckBehavior(bExpr, unityBRSupport);
            var bridgeTrigger = new BridgeBTriggerFromUnity {
                parent             = this,
                bExpr              = bExpr,
                spaceDistributer   = this.parent.defaultSpace.spaceDistributer,
                unityBCheckTrigger = unityTrigger
            };

            if (unityTrigger != null)
            {
                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);
        }
Beispiel #3
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);
 }
 void SpaceDistributer.DistributeSpaceToBehave(GameObject behaver, BehaviorExpression behavior, SpaceInfoListener listener)
 {
     foreach (var space in GetComponentsInChildren <StdBehaviorSpaceReservedForBehaver>())
     {
         if (space.behaviorNames.Contains(behaver.name))
         {
             listener.OnSpaceUpdated(space.GetComponent <MonoBBAgentSpace>().space);
             return;
         }
         listener.OnSpaceUpdated(defaultSpace.space);
     }
 }
Beispiel #5
0
 void UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, UnityBehaviorCheckReqListener listener)
 {
     if (actualBehaver != null)
     {
         actualBehaver.ReadyCheckBehavior(bExpr, listener);
     }
     else
     {
         var newDepTrigger = new DependenntBCTrigger {
             parent = this, bExpr = bExpr
         };
         depBCTriggers.Add(newDepTrigger);
     }
 }
Beispiel #6
0
        /*ConvertingEnumarable<BehaviorSetter, MonoBBehaviorSetter> setterEnumerable;
         * ConvertingEnumarable<BehaviorChecker, MonoBBehaviorChecker> checkerEnumerable;
         * public BehaviorSetter setter;
         * public BehaviorChecker checker;
         * public override IEnumerable<BehaviorSetter> behaviorSetters {
         *      get {
         *              if(setterEnumerable == null)
         *                      setterEnumerable = new ConvertingEnumarable<BehaviorSetter, MonoBBehaviorSetter> { convertFunc = (elem) => elem.behaviorSetter, gObjEnumerable = bSetters };
         *              return setterEnumerable;
         *      }
         * }
         * public override IEnumerable<BehaviorChecker> behaviorCheckers {
         *      get {
         *              if (checkerEnumerable == null)
         *                      checkerEnumerable = new ConvertingEnumarable<BehaviorChecker, MonoBBehaviorChecker> { convertFunc = (elem) => elem.behaviorChecker, gObjEnumerable = bCheckers };
         *              return checkerEnumerable;
         *      }
         * }
         *
         * public override BehaviorSetter behaviorSetter {
         *      get {
         *              if (setter == null)
         *                      setter = new ClusterBehaviorSetter { bSetters = behaviorSetters };
         *              return setter;
         *      }
         * }
         *
         * public override BehaviorChecker behaviorChecker {
         *      get {
         *              if (checker == null)
         *                      checker = new ClusterBehaviorChecker { bCheckers = behaviorCheckers };
         *              return checker;
         *      }
         * }
         *
         * public override MonoBUnityBehaver baseUnityBehaver {
         *      get {
         *              throw new NotImplementedException();
         *      }
         *
         *      set {
         *              throw new NotImplementedException();
         *      }
         * }
         */
        UnityBehaviorTrigger UnityBehaviorSetter.ReadyBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport support)
        {
            var builder = new UnityBTriggerBuilder();

            if (baseBehaver != null)
            {
                builder.AddTrigger(baseBehaver.behaver.ReadyBehavior(bExpr, support));
            }
            foreach (var bSetter in bSetters)
            {
                builder.AddTrigger(bSetter.behaviorSetter.ReadyBehavior(bExpr, support));
            }
            return(builder.GetResult());
        }
Beispiel #7
0
        UnityBehaviorCheckTrigger UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport support)
        {
            var builder = new UnityBCheckTriggerBuilder();

            if (baseBehaver != null)
            {
                baseBehaver.behaver.ReadyCheckBehavior(bExpr, support);
            }
            foreach (var bChecker in bCheckers)
            {
                bChecker.behaviorChecker.ReadyCheckBehavior(bExpr, support);
            }
            return(builder.GetResult());
        }
Beispiel #8
0
        UnityBehaviorCheckTrigger UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport listener)
        {
            UnityBehaviorCheckTrigger trigger = null;

            if (GrammarBlockUtils.IsUnit(bExpr.verb, "hit"))
            {
                var button = GrammarBlockUtils.ShallowSeek(bExpr.verb.modifier, "button");
                GrammarBlockUtils.ForEachUnits(
                    button.modifier,
                    (unit) => {
                    trigger = FindObjectOfType <GUIBehaver>().NewHitButtonCheckTrigger(unit.word);
                }
                    );
                return(trigger);
            }
            return(trigger);
        }
Beispiel #9
0
 public static Vector3 LocalPosition(BAgentSpace space, BehaviorExpression bExpr)
 {
     if (bExpr.verb.modifier != null)
     {
         var at_where = GrammarBlockUtils.ShallowSeek(bExpr.verb.modifier, "at");
         if (at_where != null)
         {
             if (at_where.modifier.unit != null)
             {
                 var positionDesc = at_where.modifier.unit.word.Split('-');
                 if (positionDesc.Length == 2)
                 {
                     var posOffset = Vector3.zero;
                     posOffset.z = 0.5f;
                     if (positionDesc[0] == "lower")
                     {
                         posOffset.y = 0.25f;
                     }
                     else if (positionDesc[0] == "middle")
                     {
                         posOffset.y = 0.5f;
                     }
                     else if (positionDesc[0] == "upper")
                     {
                         posOffset.y = 0.75f;
                     }
                     if (positionDesc[1] == "left")
                     {
                         posOffset.x = 0.25f;
                     }
                     else if (positionDesc[1] == "center")
                     {
                         posOffset.x = 0.5f;
                     }
                     else if (positionDesc[1] == "right")
                     {
                         posOffset.x = 0.75f;
                     }
                     return(space.lowerBoundary + Vector3.Scale(space.upperBoundary - space.lowerBoundary, posOffset));
                 }
             }
         }
     }
     return(Vector3.zero);
 }
Beispiel #10
0
 UnityBehaviorTrigger UnityBehaviorSetter.ReadyBehavior(BehaviorExpression behavior, UnityBehaviorReadySupport support)
 {
     if (CaseInsensitiveComparer.Equals(behavior.verb.word, "show"))
     {
         var howMany = GrammarBlockUtils.ShallowSeekModifier(behavior.verb, "how many");
         if (howMany != null)
         {
             var trigger = new ShowNumberTrigger {
                 modifier = behavior.verb.modifier, textViewerPrefab = textViewerPrefab
             };
             return(trigger);
         }
         else
         {
             //stub : show something
         }
     }
     else if (CaseInsensitiveComparer.Equals(behavior.verb.word, "clear"))
     {
         if (GrammarBlockUtils.ShallowSeekModifier(behavior.verb, "space") != null)
         {
             var trigger = new ClearAllSpaces {
                 spaceDistributer = spaceD
             };
             return(trigger);
         }
     }
     else if (CaseInsensitiveComparer.Equals(behavior.verb.word, "quit"))
     {
         return(new QuitTrigger());
     }
     else if (CaseInsensitiveComparer.Equals(behavior.verb.word, "fade in"))
     {
         return(new FadeTrigger {
             fadeDelta = -0.01f, fadeProcess = fadeProcess
         });
     }
     else if (CaseInsensitiveComparer.Equals(behavior.verb.word, "fade out"))
     {
         return(new FadeTrigger {
             fadeDelta = 0.01f, fadeProcess = fadeProcess
         });
     }
     return(null);
 }
Beispiel #11
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);
 }
Beispiel #12
0
        void BehaverEquipper.EquipBehaverByBehavior(BehaviorExpression bExpr, BehaverEquipListener listener)
        {
            var support = new StdBehaviorReadySupport {
                assetMediator = new StubAssetMediator()
            };
            var unityBRSupport = new StdUnityBehaviorReadySupport {
                basic = support, giver = new StubImmediateGiver <UnityBehaver, GrammarBlock>()
            };

            if (behaverPrefab != null)
            {
                var trigger  = behaverPrefab.behaver.ReadyBehavior(bExpr, unityBRSupport);
                var cTrigger = behaverPrefab.behaver.ReadyCheckBehavior(bExpr, unityBRSupport);
                if (trigger != null || cTrigger != null)
                {
                    listener.OnEquipSubBehaver(behaverPrefab);
                    return;
                }
            }
            if (setterPrefab != null)
            {
                var trigger = setterPrefab.behaviorSetter.ReadyBehavior(bExpr, unityBRSupport);
                if (trigger != null)
                {
                    listener.OnEquipBehaviorSetter(setterPrefab);
                    return;
                }
            }
            if (checkerPrefab != null)
            {
                var trigger = checkerPrefab.behaviorChecker.ReadyCheckBehavior(bExpr, unityBRSupport);
                if (trigger != null)
                {
                    listener.OnEquipBehaviorChecker(checkerPrefab);
                    return;
                }
            }
        }
Beispiel #13
0
		UnityBehaviorTrigger UnityBehaviorSetter.ReadyBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport reqListener) { return null; }
Beispiel #14
0
 public BehaviorTrigger ReadyBehavior(BehaviorExpression bExp, BehaviorReadySupport bReqLis)
 {
     return(null);
 }
Beispiel #15
0
 UnityBehaviorCheckTrigger UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression behavior, UnityBehaviorReadySupport support)
 {
     return(null);
 }
Beispiel #16
0
 BehaviorCheckTrigger BehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, BehaviorReadySupport chkReqListener)
 {
     return(null);
 }
Beispiel #17
0
 UnityBehaviorCheckTrigger UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport support)
 {
     return(unityBehaverInternal.ReadyCheckBehavior(bExpr, support));
 }
Beispiel #18
0
 UnityBehaviorCheckTrigger UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport listener)
 {
     return(null);
 }
Beispiel #19
0
 UnityBehaviorTrigger UnityBehaviorSetter.ReadyBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport listener)
 {
     return(customBehaverInstance.behaver.ReadyBehavior(bExpr, listener));
 }
Beispiel #20
0
		UnityBehaviorCheckTrigger UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport chkReqListener) {
			return null;
		}
Beispiel #21
0
 UnityBehaviorTrigger UnityBehaviorSetter.ReadyBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport support)
 {
     return(null);
 }