void BehaverEquipper.EquipBehaverByBehavior(BehaviorExpression bevrExpr, BehaverEquipListener listener) { foreach (var equipper in equippers) { equipper.EquipBehaverByBehavior(bevrExpr, listener); } }
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); }
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); } }
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); } }
/*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()); }
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()); }
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); }
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); }
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); }
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); }
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; } } }
UnityBehaviorTrigger UnityBehaviorSetter.ReadyBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport reqListener) { return null; }
public BehaviorTrigger ReadyBehavior(BehaviorExpression bExp, BehaviorReadySupport bReqLis) { return(null); }
UnityBehaviorCheckTrigger UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression behavior, UnityBehaviorReadySupport support) { return(null); }
BehaviorCheckTrigger BehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, BehaviorReadySupport chkReqListener) { return(null); }
UnityBehaviorCheckTrigger UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport support) { return(unityBehaverInternal.ReadyCheckBehavior(bExpr, support)); }
UnityBehaviorCheckTrigger UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport listener) { return(null); }
UnityBehaviorTrigger UnityBehaviorSetter.ReadyBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport listener) { return(customBehaverInstance.behaver.ReadyBehavior(bExpr, listener)); }
UnityBehaviorCheckTrigger UnityBehaviorChecker.ReadyCheckBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport chkReqListener) { return null; }
UnityBehaviorTrigger UnityBehaviorSetter.ReadyBehavior(BehaviorExpression bExpr, UnityBehaviorReadySupport support) { return(null); }