Beispiel #1
0
        public CompoundModule(IService service, INeed need)
        {
            if (need == null)
                throw new ArgumentNullException("need");

            if (service == null)
                throw new ArgumentNullException("service");
        }
Beispiel #2
0
 static Need()
 {
     ContainerNeed = new Need
         {
             ClrType = typeof (IContainer),
             Optional = false,
             Kind = NeedKind.Internal,
             ParentType = null,
             ForcedKey = false,
             Key = null
         };
 }
 public minst(INeed need) => this.need = need;
Beispiel #4
0
 public INeed PreResolveNeed(IGenerationContext context, INeed need)
 {
     return(need);
 }
Beispiel #5
0
 private TopicNeedActivity(IEventMessage eventMessage, INeed need, IResult result)
 {
     _eventMessage = eventMessage;
     _need         = need;
     _result       = result;
 }
Beispiel #6
0
 public DiedNeed(INeed need)
 {
     _value    = need.Value;
     _maxValue = need.MaxValue;
 }
 public pil(INeed need) => this.need = need;
 public UniversalQueueMember(INeed need)
 {
     this.need = need;
 }
 protected WindowTest(INeed need) : base(need)
 {
 }
 protected WebElementTest(INeed need) : base(need)
 {
 }
        public void SetUp()
        {
            GlobalConstants.ActionLog = new ActionLog();

            this.prefab = GD.Load <Node2D>(GlobalConstants.GODOT_ASSETS_FOLDER + "Scenes/JoyObject.tscn");

            this.scriptingEngine = new ScriptingEngine();

            ILiveEntityHandler entityHandler = Mock.Of <ILiveEntityHandler>();

            IRelationship friendship = Mock.Of <IRelationship>();

            IEntityRelationshipHandler relationshipHandler = Mock.Of <IEntityRelationshipHandler>(
                handler => handler.Get(It.IsAny <IJoyObject[]>(), It.IsAny <string[]>(), It.IsAny <bool>())
                == new IRelationship[] { friendship });

            IEntity questObject = Mock.Of <IEntity>(
                entity => entity.JoyName == "NAME1" &&
                entity.MyWorld == Mock.Of <IWorldInstance>(
                    w => w.GetRandomSentient() == Mock.Of <IEntity>(
                        e => e.JoyName == "NAME2")));

            this.world = Mock.Of <IWorldInstance>(
                w => w.GetRandomSentientWorldWide() == questObject &&
                w.GetRandomSentient() == questObject &&
                w.GetWorlds(It.IsAny <IWorldInstance>()) == new List <IWorldInstance>
            {
                Mock.Of <IWorldInstance>(mock => mock.Name == "TEST2")
            } &&
                w.GetOverworld() == Mock.Of <IWorldInstance>(
                    mock => mock.Name == "EVERSE" &&
                    mock.GetRandomSentient() == questObject &&
                    mock.GetRandomSentientWorldWide() == questObject) &&
                w.Name == "TEST");

            INeed friendshipMock = Mock.Of <INeed>(
                need => need.Fulfill(It.IsAny <int>()) == 1 &&
                need.Name == "friendship");
            IDictionary <string, INeed> needs = new Dictionary <string, INeed>();

            needs.Add("friendship", friendshipMock);

            IRollableValue <int> mockPersonality = Mock.Of <IEntityStatistic>(
                value => value.Value == 4 &&
                value.Name == "personality");
            IDictionary <string, IEntityStatistic> stats = new Dictionary <string, IEntityStatistic>();

            stats.Add(
                "personality",
                new EntityStatistic(
                    "personality",
                    4,
                    GlobalConstants.DEFAULT_SUCCESS_THRESHOLD));

            this.instigator = Mock.Of <IEntity>(
                entity => entity.PlayerControlled == true &&
                entity.MyWorld == this.world &&
                entity.Needs == needs &&
                entity.Statistics == stats &&
                entity.Sentient == true &&
                entity.Guid == Guid.NewGuid());

            this.listener = Mock.Of <IEntity>(entity => entity.MyWorld == this.world &&
                                              entity.Needs == needs &&
                                              entity.Statistics == stats &&
                                              entity.Sentient == true &&
                                              entity.Guid == Guid.NewGuid());

            GlobalConstants.GameManager = Mock.Of <IGameManager>(
                manager => manager.Player == this.instigator &&
                manager.ConversationEngine == new ConversationEngine(relationshipHandler, Guid.NewGuid()) &&
                manager.RelationshipHandler == relationshipHandler &&
                manager.RumourMill == new ConcreteRumourMill(new RNG()));

            this.target = GlobalConstants.GameManager.ConversationEngine;

            friendship.AddParticipant(this.listener.Guid);
            friendship.AddParticipant(this.instigator.Guid);
        }
 protected KeyMouseTest(INeed need) : base(need)
 {
 }
Beispiel #13
0
        public override void Locomotion(IEntity vehicle)
        {
            this.Initialise();

            //Don't move if you're currently busy
            if (vehicle.NeedFulfillmentData.Name.IsNullOrEmpty() == false &&
                vehicle.NeedFulfillmentData.Counter > 0)
            {
                return;
            }

            //If you're idle
            if (vehicle.CurrentTarget.Idle)
            {
                //Let's find something to do
                List <INeed> needs = vehicle.Needs.Values.OrderByDescending(x => x.Priority).ToList();
                //Act on first need

                bool idle   = true;
                bool wander = false;
                foreach (INeed need in needs)
                {
                    if (need.ContributingHappiness)
                    {
                        continue;
                    }

                    idle &= need.FindFulfilmentObject(vehicle);
                    break;
                }

                if (idle)
                {
                    int result = this.Roller.Roll(0, 10);
                    if (result < 1)
                    {
                        wander = true;
                    }
                }

                if (wander)
                {
                    this.WanderAction.Execute(
                        new IJoyObject[] { vehicle },
                        new[] { "wander", "idle" });
                }
            }

            //If we have somewhere to be, move there
            if (vehicle.WorldPosition != vehicle.CurrentTarget.TargetPoint ||
                vehicle.CurrentTarget.Target != null)
            {
                if (vehicle.CurrentTarget.Target is IItemInstance &&
                    vehicle.WorldPosition != vehicle.CurrentTarget.Target.WorldPosition)
                {
                    if (vehicle.CurrentTarget.TargetPoint.Equals(GlobalConstants.NO_TARGET))
                    {
                        NeedAIData newData = new NeedAIData
                        {
                            Idle        = vehicle.CurrentTarget.Idle,
                            Intent      = vehicle.CurrentTarget.Intent,
                            Need        = vehicle.CurrentTarget.Need,
                            Searching   = vehicle.CurrentTarget.Searching,
                            Target      = vehicle.CurrentTarget.Target,
                            TargetPoint = vehicle.CurrentTarget.Target.WorldPosition
                        };
                        vehicle.CurrentTarget = newData;
                    }

                    this.MoveToTarget(vehicle);
                }
                else if (vehicle.CurrentTarget.Target is IEntity &&
                         AdjacencyHelper.IsAdjacent(vehicle.WorldPosition, vehicle.CurrentTarget.Target.WorldPosition) == false)
                {
                    this.MoveToTarget(vehicle);
                }
                else if (vehicle.CurrentTarget.Target is null &&
                         vehicle.CurrentTarget.TargetPoint.Equals(GlobalConstants.NO_TARGET) == false)
                {
                    this.MoveToTarget(vehicle);
                }
            }

            if (vehicle.MyWorld.GetEntity(vehicle.CurrentTarget.TargetPoint) is null == false ||
                vehicle.MyWorld.GetObject(vehicle.CurrentTarget.TargetPoint) is null == false)
            {
                //If we've arrived at our destination, then we do our thing
                if ((vehicle.WorldPosition == vehicle.CurrentTarget.TargetPoint &&
                     (vehicle.CurrentTarget.Target is IItemInstance || vehicle.CurrentTarget.Target is null) ||
                     (vehicle.CurrentTarget.Target is IEntity &&
                      AdjacencyHelper.IsAdjacent(vehicle.WorldPosition, vehicle.CurrentTarget.Target.WorldPosition))))
                {
                    //If we have a target
                    if (vehicle.CurrentTarget.Target is null == false)
                    {
                        if (vehicle.CurrentTarget.Intent == Intent.Attack)
                        {
                            //CombatEngine.SwingWeapon(this, CurrentTarget.target);
                        }
                        else if (vehicle.CurrentTarget.Intent == Intent.Interact)
                        {
                            INeed need = vehicle.Needs[vehicle.CurrentTarget.Need];

                            need.Interact(vehicle, vehicle.CurrentTarget.Target);
                            vehicle.CurrentTarget = NeedAIData.IdleState();
                        }
                    }
 protected SelectElementTest(INeed need) : base(need)
 {
 }
 public Image(INeed need, byte[][] src)
 {
     _need = need;
     _bin  = src;
 }
 public plotlib(INeed need) => this.need = need;
Beispiel #17
0
 protected CompareTestBase(INeed need) => _need = need;
 protected WebDriverTest(INeed need) : base(need)
 {
 }
Beispiel #19
0
 public std(INeed need) => this.need = need;
Beispiel #20
0
 protected JavaScriptExecutorTest(INeed need) : base(need)
 {
 }
Beispiel #21
0
 public ICRegILGen ResolveNeed(INeed need)
 {
     return(_resolvers[new Tuple <IBuildContext, INeed>(_buildContext, need)]);
 }
 protected FrameTest(INeed need) : base(need)
 {
 }