public ObtainToteableObjective(PsycheEnv psycheEnv) : base(psycheEnv)
    {
        weightedChancePairs = new List <WeightedChancePair>()
        {
            new WeightedChancePair(() => { return(new ApproachAndPickupMotion(psycheEnv, desiredToteable)); }, (x) => {
                if (!desiredToteable.beingHeld)
                {
                    return(1.0f);
                }
                else
                {
                    return(0);
                }
            }),

            new WeightedChancePair(() => { return(new ApproachAndRobMotion(psycheEnv, desiredToteable)); }, (x) => {
                if (desiredToteable.beingHeld)
                {
                    return(1.0f);
                }
                else
                {
                    return(0);
                }
            }),
        };
    }
Esempio n. 2
0
 public LocateToteableObjective(PsycheEnv psycheEnv) : base(psycheEnv)
 {
     weightedChancePairs = new List <WeightedChancePair>()
     {
         new WeightedChancePair(() => { return(new ScanSurroundingsForObjectMotion(psycheEnv, this, desiredType)); }, (x) => { return(1.0f); })
     };
 }
Esempio n. 3
0
 public RelocateGoal(PsycheEnv psycheEnv, Vector3 targetLocation) : base(psycheEnv)
 {
     this.targetLocation = targetLocation;
     subGoals            = new List <GoalNode>()
     {
         new LocationObjective(psycheEnv, targetLocation)
     };
 }
Esempio n. 4
0
 public LocationObjective(PsycheEnv psycheEnv, Vector3 targetLocation) : base(psycheEnv)
 {
     this.targetLocation = targetLocation;
     weightedChancePairs = new List <WeightedChancePair>()
     {
         //new WeightedChancePair(new MovementMotion(psycheEnv, targetLocation), (x)=>{ return 1.0f; } ),
         //new WeightedChancePair(new TeleportMotion(psycheEnv, targetLocation), (x)=>{ return 1.0f; } )
     };
 }
    public ObtainGeneralObjectGoal(PsycheEnv psycheEnv, TypeTag typeTag) : base(psycheEnv)
    {
        x0 = new LocateToteableObjective(psycheEnv);
        x1 = new ObtainToteableObjective(psycheEnv);

        subGoals = new List <GoalNode>()
        {
            x0,
            x1
        };
    }
Esempio n. 6
0
    public override void ExecuteMotion(PsycheEnv psycheEnv)
    {
        Collider[]           nearbyColliders    = Physics.OverlapSphere(psycheEnv.gameObject.transform.position, radius);
        ICollection <Entity> discoveredEntities = new List <Entity>();

        foreach (Collider collider in nearbyColliders)
        {
            Entity entity = collider.GetComponent <Entity>();
            if (entity != null)
            {
                if (entity.typeTags.Contains(desiredType))
                {
                    discoveredEntities.Add(entity);
                }
            }
        }
        reportReceiver.ReceiveReport(discoveredEntities);
    }
Esempio n. 7
0
 public Goal(PsycheEnv psycheEnv) : base(psycheEnv)
 {
 }
Esempio n. 8
0
 public override void ExecuteMotion(PsycheEnv psycheEnv)
 {
     psycheEnv.brain.PushState(new WalkToState(psycheEnv));
 }
Esempio n. 9
0
 public ScanSurroundingsForObjectMotion(PsycheEnv psycheEnv, IReportEntityReceiver reportReceiver, TypeTag desiredType) : base(psycheEnv)
 {
     this.reportReceiver = reportReceiver;
     this.desiredType    = desiredType;
 }
Esempio n. 10
0
 public Brain(PsycheEnv psycheEnv)
 {
     this.psycheEnv  = psycheEnv;
     this.stateQueue = new PriorityQueue <State>();
 }
Esempio n. 11
0
 public MovementMotion(PsycheEnv psycheEnv, Vector3 targetLocation) : base(psycheEnv)
 {
     this.targetLocation = targetLocation;
 }
Esempio n. 12
0
 public GoalNode(PsycheEnv psycheEnv)
 {
     this.psycheEnv = psycheEnv;
 }
Esempio n. 13
0
 public RagdollState(PsycheEnv psycheEnv, float knockoutTime = 5) : base(psycheEnv)
 {
     this.knockoutTime = knockoutTime;
     psycheEnv.character.ragdollController.ActivateRagdoll();
 }
Esempio n. 14
0
 public Objective(PsycheEnv psycheEnv) : base(psycheEnv)
 {
 }
Esempio n. 15
0
 public abstract void ExecuteMotion(PsycheEnv psycheEnv);
Esempio n. 16
0
 public WalkToState(PsycheEnv psycheEnv) : base(psycheEnv)
 {
 }
Esempio n. 17
0
 public ApproachAndRobState(PsycheEnv psycheEnv, Toteable targetToteable) : base(psycheEnv)
 {
     this.targetToteable = targetToteable;
 }
Esempio n. 18
0
 public override void ExecuteMotion(PsycheEnv psycheEnv)
 {
     psycheEnv.brain.PushState(new ApproachAndRobState(psycheEnv, targetObject));
 }
Esempio n. 19
0
 public ApproachAndRobMotion(PsycheEnv psycheEnv, Toteable targetObject) : base(psycheEnv)
 {
     this.targetObject = targetObject;
 }
Esempio n. 20
0
 public ApproachAndPickupState(PsycheEnv psycheEnv, Toteable targetToteable) : base(psycheEnv)
 {
     this.targetToteable   = targetToteable;
     EventHub.PickupEvent += OnAnyItemPickup;
 }
Esempio n. 21
0
 public State(PsycheEnv psycheEnv)
 {
     this.psycheEnv = psycheEnv;
 }
Esempio n. 22
0
 public Motion(PsycheEnv psycheEnv)
 {
     this.psycheEnv = psycheEnv;
 }