示例#1
0
        public void Setup()
        {
            GlobalReference.GlobalValues = new GlobalValues();

            wander       = new Wanderer();
            npc          = new Mock <INonPlayerCharacter>();
            random       = new Mock <IRandom>();
            followTarget = new Mock <INonPlayerCharacter>();
            room         = new Mock <IRoom>();
            north        = new Mock <IRoom>();
            east         = new Mock <IRoom>();
            south        = new Mock <IRoom>();
            west         = new Mock <IRoom>();
            up           = new Mock <IRoom>();
            down         = new Mock <IRoom>();
            exitNorth    = new Mock <IExit>();
            exitEast     = new Mock <IExit>();
            exitSouth    = new Mock <IExit>();
            exitWest     = new Mock <IExit>();
            exitUp       = new Mock <IExit>();
            exitDown     = new Mock <IExit>();
            world        = new Mock <IWorld>();
            zone         = new Mock <IZone>();

            zones = new Dictionary <int, IZone>();
            rooms = new Dictionary <int, IRoom>();

            random.Setup(e => e.PercentDiceRoll(1)).Returns(true);
            npc.Setup(e => e.Room).Returns(room.Object);
            world.Setup(e => e.Zones).Returns(zones);
            zone.Setup(e => e.Rooms).Returns(rooms);
            exitNorth.Setup(e => e.Room).Returns(1);
            exitEast.Setup(e => e.Room).Returns(2);
            exitSouth.Setup(e => e.Room).Returns(3);
            exitWest.Setup(e => e.Room).Returns(4);
            exitUp.Setup(e => e.Room).Returns(5);
            exitDown.Setup(e => e.Room).Returns(6);
            exitNorth.Setup(e => e.Zone).Returns(0);
            exitEast.Setup(e => e.Zone).Returns(0);
            exitSouth.Setup(e => e.Zone).Returns(0);
            exitWest.Setup(e => e.Zone).Returns(0);
            exitUp.Setup(e => e.Zone).Returns(0);
            exitDown.Setup(e => e.Zone).Returns(0);

            zones.Add(0, zone.Object);
            rooms.Add(1, north.Object);
            rooms.Add(2, east.Object);
            rooms.Add(3, south.Object);
            rooms.Add(4, west.Object);
            rooms.Add(5, up.Object);
            rooms.Add(6, down.Object);



            GlobalReference.GlobalValues.Random = random.Object;
            GlobalReference.GlobalValues.World  = world.Object;
        }
示例#2
0
 // Sets up the behaviors that this agent uses. Should be called by implementing classes
 public void initialize()
 {
     this.smellFollower    = new SmellFollower();
     this.wallAvoider      = new WallAvoider(MAIN_RAY_LENGTH, SIDE_RAY_LENGTH, transform, MAX_ACCEL);
     this.collisionAvoider = new CollisionAvoider(COLLISION_AVOIDANCE_RAD, transform, rigidBody, MAX_ACCEL);
     this.arriver          = new Arriver(ARRIVE_RADIUS, SLOW_RADIUS, MAX_SPEED, rigidBody);
     this.aligner          = new Aligner(ROTATE_ARRIVE_RAD, ROTATE_SLOW_RAD, MAX_ANGULAR_ACC, transform, rigidBody);
     this.fleer            = new Fleer(FLEE_TAG_RAD, transform, MAX_ACCEL);
     this.seeker           = new Seeker(MAX_ACCEL, transform);
     this.pursuer          = new Pursuer(MAX_ACCEL, rigidBody);
     this.wanderer         = new Wanderer(MAX_ACCEL, transform);
     this.mover            = new Mover(MAX_ACCEL, MAX_ANGULAR_ACC, MAX_SPEED, MAX_ROTATION, rigidBody);
 }