public DecideActionSystem(Contexts contexts)
 {
     context       = contexts.core;
     command       = contexts.command;
     rooms         = context.GetGroup(CoreMatcher.AllOf(CoreMatcher.Room, CoreMatcher.RoomId, CoreMatcher.DirtLevel));
     busyFlatmates = context.GetGroup(CoreMatcher.AllOf(CoreMatcher.Flatmate, CoreMatcher.ActiveAction, CoreMatcher.CurrentRoom));
     flatmates     = context.GetGroup(CoreMatcher.AllOf(CoreMatcher.AIBehaviour, CoreMatcher.Flatmate, CoreMatcher.Motivation, CoreMatcher.Fun, CoreMatcher.CurrentRoom, CoreMatcher.Opinion).NoneOf(CoreMatcher.Player, CoreMatcher.ActiveAction, CoreMatcher.AIDeciding));
 }
示例#2
0
    public StopActionWhenNoMotivationSystem(Contexts contexts)
    {
        this.context = contexts.core;
        this.command = contexts.command;

        entities = context.GetGroup(CoreMatcher.AllOf(CoreMatcher.Motivation, CoreMatcher.ActiveAction, CoreMatcher.FlatmateId));
    }
    public ApplyDecitionSystem(Contexts contexts)
    {
        context = contexts.core;

        command = contexts.command;

        flatmates = context.GetGroup(CoreMatcher.AllOf(CoreMatcher.AIDeciding, CoreMatcher.CurrentRoom));
    }
示例#4
0
 public UpdatePositionByVelocitySystem(Contexts contexts)
 {
     _contexts = contexts;
     _context  = _contexts.core;
     _group    = _context.GetGroup(CoreMatcher.AllOf(CoreMatcher.Position, CoreMatcher.Velocity));
 }
示例#5
0
 public UpdateDurationTimeSystem(Contexts contexts)
 {
     this.context = contexts.core;
     timedObjects = context.GetGroup(CoreMatcher.ActionDuration);
 }
    public UpdateMotivationSystem(Contexts contexts)
    {
        context = contexts.core;

        entities = context.GetGroup(CoreMatcher.AllOf(CoreMatcher.Flatmate, CoreMatcher.Motivation, CoreMatcher.ActiveAction));
    }
 public UpdateEnterRoomDirtynessOpinionSystem(Contexts contexts) : base(contexts.core)
 {
     coreContext = contexts.core;
     flatmates   = coreContext.GetGroup(CoreMatcher.AllOf(CoreMatcher.FlatmateId));
 }
 public DurationTimeoutSystem(Contexts contexts)
 {
     this.context = contexts.core;
     this.command = contexts.command;
     timedObjects = context.GetGroup(CoreMatcher.AllOf(CoreMatcher.ActionDuration, CoreMatcher.FlatmateId));
 }