Пример #1
0
    public override void ChildTerminated(GameObject go, BehaviourInterface child, bool result)
    {
        child.Deactivate(go);
        if (childIndex >= childNodes.Count)
        {
            if (!isRoot)
            {
                parentNode.ChildTerminated(go, this, result);
            }
            else
            {
                Deactivate(go);
            }
            return;
        }

        if (!result)
        {
            childNodes [childIndex].Activate(go);
            childIndex++;
        }
        else
        {
            if (!isRoot)
            {
                parentNode.ChildTerminated(go, this, true);
            }
            else
            {
                Deactivate(go);
            }
        }
    }
Пример #2
0
	public override void ChildTerminated (BehaviourInterface child,bool result)
	{
		child.Deactivate ();
		if (childIndex >= childNodes.Count) {
			if(!isRoot){
				parentNode.ChildTerminated(this,false);
			}else{
				//Debug.Log(gameObject);
				Deactivate();
			}
			return;
		}
		
		if (!result) {
			childNodes [childIndex].Activate ();
			childIndex++;
		} else {
			if(!isRoot){
				parentNode.ChildTerminated(this,true);
			}else{
				Deactivate();
			}
		}
		
	}
Пример #3
0
    public override void ChildTerminated(GameObject go, BehaviourInterface child, bool result)
    {
        child.Deactivate(go);
        childReturns++;
        if (!result)
        {
            if (!isRoot)
            {
                parentNode.ChildTerminated(go, this, false);
                foreach (LeafNode childNode in childNodes)
                {
                    childNode.Deactivate(go);
                }
            }
            else
            {
                Deactivate(go);
            }
        }

        if (!isRoot && childReturns >= childNodes.Count)
        {
            parentNode.ChildTerminated(go, this, result);
        }

        if (isRoot && childReturns >= childNodes.Count)
        {
            Deactivate(go);
        }
    }
Пример #4
0
	public override void ChildTerminated (BehaviourInterface child, bool result)
	{
		childNodes [0].Deactivate ();
		if (result) {
						childNodes [0].Activate ();
				} else {
					parentNode.ChildTerminated(this,false);
				}
	}
Пример #5
0
 public override void ChildTerminated(GameObject go, BehaviourInterface child, bool result)
 {
     if (parentNode != null)
     {
         parentNode.ChildTerminated(go, this, !result);
         ChildNodes[0].Deactivate(go);
     }
     else
     {
         Deactivate(go);
     }
 }
Пример #6
0
	public override void ChildTerminated (BehaviourInterface child, bool result)
	{
		child.Deactivate ();
		if(!result){
			parentNode.ChildTerminated(this,false);
		}else{
			if(leftTotry.Count > 0){
				activateRandom();
			}else{
				parentNode.ChildTerminated(this,true);
			}
		}
	}
Пример #7
0
 public override void ChildTerminated(GameObject go, BehaviourInterface child, bool result)
 {
     child.Deactivate(go);
     if (result)
     {
         parentNode.ChildTerminated(go, this, true);
     }
     else
     {
         if (leftTotry.Count > 0)
         {
             activateRandom(go);
         }
         else
         {
             parentNode.ChildTerminated(go, this, false);
         }
     }
 }
Пример #8
0
	public override void ChildTerminated (BehaviourInterface child,bool result)
	{
		child.Deactivate ();
		childReturns++;
		if (!result){
			if(!isRoot){
				parentNode.ChildTerminated(this,false);
			}else{
				Deactivate();
			}
		}

		if(!isRoot && childReturns >= childNodes.Count){
			parentNode.ChildTerminated(this,true);
		}

		if (isRoot && childReturns >= childNodes.Count) {
			Deactivate();
		}
		
	}
Пример #9
0
	public abstract void ChildTerminated (BehaviourInterface child,bool result);
Пример #10
0
 public virtual void ChildTerminated(GameObject go, BehaviourInterface child, bool result)
 {
 }
Пример #11
0
 public abstract void ChildTerminated(GameObject go, BehaviourInterface child, bool result);
Пример #12
0
	public virtual void ChildTerminated (BehaviourInterface child,bool result){}