コード例 #1
0
        public ConveyorControlPanel(Conveyor aConveyor)
        {
            mConveyor = aConveyor;
            InitializeComponent();

            BackColor = SystemColors.Control;
        }
コード例 #2
0
        public void ProcessBaggageTest_IfStatementElse()
        {
            MPA      mpa      = new MPA();
            Conveyor conveyor = new Conveyor(5, 6)
            {
                DestinationGate = 2
            };

            //Conveyor conveyornext = new Conveyor(5, 6) { DestinationGate = 2};
            conveyor.Status = BaggageStatus.Busy;
            Baggage baggage = new Baggage()
            {
                DestinationGate = 2
            };
            var var = 0;

            mpa.AddNextNode(conveyor);
            //mpa.AddNextNode(conveyornext);
            mpa.PassBaggage(baggage);

            if (mpa.NextNode.OnNodeStatusChangedToFree != null)
            {
                var = mpa.NextNode.OnNodeStatusChangedToFree.GetInvocationList().Length;
            }
            Assert.AreEqual(var, 1);
            //Assert.AreEqual(mpa.baggagesToWait.Count, 1);
        }
コード例 #3
0
ファイル: Engine.cs プロジェクト: BobiGeorge/baggager
        public Node AddNode(string buildType)
        {
            switch (buildType)
            {
            case "Conveyor":
                Conveyor co = new Conveyor();
                conveyors.Add(co);
                return(co);

            case "CheckIn":
                CheckIn ch = new CheckIn();
                checkIns.Add(ch);
                return(ch);

            case "DropOff":
                DropOff dr = new DropOff();
                dropOffs.Add(dr);
                return(dr);

            case "Branch":
                BranchingConveyor br = new BranchingConveyor();
                branchingConveyors.Add(br);
                return(br);
            }
            return(null);
        }
コード例 #4
0

        
コード例 #5
0
        public override void HandleCommand(Command command, bool isImport = false)
        {
            Assert.ArgumentNotNull(command, "command");

            var textCommand = command as TextCommand;

            if (textCommand == null)
            {
                return;
            }

            string commandText = textCommand.CommandText.Trim();

            Match match = _regexOutput.Match(commandText);

            if (match.Success)
            {
                textCommand.Handled = true;

                if (!match.Groups[1].Success)
                {
                    return;
                }

                string str = match.Groups[1].Value;

                Conveyor.PushMessage(new OutputToAdditionalWindowMessage(str[str.Length - 1] == '}' ? str.Substring(0, str.Length - 1) : str));
            }
        }
コード例 #6
0
        public void ProcessBaggage_Else_Statement()
        {
            Baggage baggage = new Baggage()
            {
                Secure = 6
            };
            Security security = new Security();
            CheckIn  checkIn  = new CheckIn();
            Conveyor conveyor = new Conveyor(5, 6);
            DropOff  dropOff  = new DropOff();

            checkIn.NextNode  = conveyor;
            conveyor.NextNode = security;
            security.NextNode = dropOff;
            int count = 0;

            dropOff.Status = BaggageStatus.Busy;
            security.PassBaggage(baggage);

            if (security.NextNode.OnNodeStatusChangedToFree != null)
            {
                count = security.NextNode.OnNodeStatusChangedToFree.GetInvocationList().Length;
            }

            Assert.AreEqual(1, count);
        }
コード例 #7
0
ファイル: ConveyorVm.cs プロジェクト: Homhomich/Task_8_lib

        
コード例 #8
0
        public void ProcessBaggage_If_Statement()
        {
            Security security = new Security();
            CheckIn  checkIn  = new CheckIn();
            Conveyor conveyor = new Conveyor(5, 4);
            DropOff  dropOff  = new DropOff();

            checkIn.NextNode  = conveyor;
            conveyor.NextNode = security;
            security.NextNode = dropOff;

            List <Baggage> baggages = new List <Baggage>()
            {
                new Baggage()
                {
                    Secure = 2
                },
                new Baggage()
                {
                    Secure = 7
                },
            };

            foreach (Baggage baggage in baggages)
            {
                security.PassBaggage(baggage);
            }


            Assert.AreEqual(2, security.baggageAgainstSecurityPolicy.Count);
        }
コード例 #9
0
        public int CreateConveyor(Conveyor conveyor)
        {
            _context.Conveyors.Add(conveyor);
            _context.SaveChanges();

            return(conveyor.Id);
        }
コード例 #10
0
        public void LinkTwoNodes_Test()
        {
            Engine  engine  = new Engine();
            CheckIn checkIn = new CheckIn()
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };
            DropOff dropOff = new DropOff()
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };
            MPA      mpa  = new MPA();
            DateTime date = new DateTime(2019, 6, 9, 14, 56, 0);

            Conveyor conveyor = new Conveyor(5, 1000)
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };

            Conveyor conveyor2 = new Conveyor(5, 1000)
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };
            Settings set = new Settings();

            engine.LinkTwoNodes(checkIn, conveyor);
            engine.LinkTwoNodes(conveyor, dropOff);

            //Assert.AreEqual(3,set.nextNodes.Count );
        }
コード例 #11
0
    void Start()
    {
        var newGO = new GameObject();

        newGO.transform.parent        = transform.parent;
        newGO.transform.localPosition = transform.localPosition;
        newGO.transform.localRotation = transform.localRotation;
        newGO.transform.localScale    = transform.localScale;
        newGO.name = "Roller";
        var newRB = newGO.AddComponent <Rigidbody>();

        newRB.isKinematic = true;

        transform.parent = newGO.transform;
        transform.ResetLocal();
        rb = gameObject.AddComponent <Rigidbody>();
        var hj = gameObject.AddComponent <HingeJoint>();

        hj.anchor        = Vector3.zero;
        hj.connectedBody = newRB;
        rb.constraints   = RigidbodyConstraints.FreezePosition;
        rb.angularDrag   = 1;
        conveyor         = GetComponentInParent <Conveyor>();
        var mc = gameObject.AddComponent <MeshCollider>();

        mc.convex = true;
    }
コード例 #12
0
 public void SetConveyor(Conveyor conveyor)
 {
     if (_currentConveyor == null)
     {
         _currentConveyor = conveyor;
     }
 }
コード例 #13
0
 public void LeaveConveyor(Conveyor conveyor)
 {
     if (_currentConveyor == conveyor)
     {
         _currentConveyor = null;
     }
 }
コード例 #14
0
ファイル: Autorouter.cs プロジェクト: mahibak/idlorio
    static List <Conveyor> GetNetsInTheWay(Map originalMap, Conveyor netToRoute, out bool routingComplete)
    {
        AutoroutingMap map = new AutoroutingMap(originalMap);
        AutoroutingNet net = new AutoroutingNet();

        net.Start = map.tiles[netToRoute._start.X, netToRoute._start.Y];
        net.End   = map.tiles[netToRoute._end.X, netToRoute._end.Y];

        List <AutoroutingNet> netIdsInTheWay = new List <AutoroutingNet>();

        var autorouteResult = Autoroute(map, net, netIdsInTheWay);

        routingComplete = autorouteResult != null;

        List <Conveyor> ret = netIdsInTheWay.Select(x => x.originalConveyor).ToList();

        foreach (Conveyor c in originalMap._conveyors)
        {
            if (c == netToRoute)
            {
                continue;
            }

            if (c.GetOccupiedTiles().Where(x => x == netToRoute._start || x == netToRoute._end).Count() > 0)
            {
                ret.Add(c);
            }
        }

        return(ret);
    }
コード例 #15
0
        public void PassBaggageTest()
        {
            DropOff  dropOff   = new DropOff(5, "Drop1");
            CheckIn  checkIn   = new CheckIn(dropOff, "CheckIn", 1);
            Conveyor conveyor1 = new Conveyor(dropOff, "Conveyor1");

            conveyor1.IsBroken = false;
            Conveyor conveyor2 = new Conveyor(dropOff, "Conveyor2");

            conveyor2.IsBroken = false;

            MainProcessArea mpa = new MainProcessArea("mpa");

            LinkedList     linkedList   = new LinkedList();
            CreateLinkList linkedLinked = new CreateLinkList(linkedList, checkIn, conveyor1, conveyor2, dropOff);
            Passenger      passenger    = new Passenger("TTT", dropOff);
            Baggage        baggage      = new Baggage(dropOff, 5, passenger);

            linkedList.PassBaggage(baggage);

            //Assert.AreEqual(1, checkIn.baggage.Count);
            //Assert.AreEqual(1, conveyor1.baggage.Count);

            //Assert.AreEqual(1, mpa.baggage.Count);
            //Assert.AreEqual(1, conveyor2.baggage.Count);
            Assert.AreEqual(1, dropOff.baggage.Count);
        }
コード例 #16
0
 private void OnCollisionExit2D(Collision2D collision)
 {
     if (collision.gameObject.GetComponent <Conveyor>())
     {
         currentConveyor = null;
     }
 }
コード例 #17
0
        public void Run_Test()
        {
            Engine  engine  = new Engine();
            CheckIn checkIn = new CheckIn()
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };
            DropOff dropOff = new DropOff()
            {
                DestinationGate = 1, Status = BaggageStatus.Free,
            };
            MPA      mpa  = new MPA();
            DateTime date = new DateTime(2019, 6, 9, 16, 40, 0);

            Conveyor conveyor = new Conveyor(1, 1000)
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };


            engine.AddFlight(date, "bbb", 3, 1);
            engine.AddDispatcher();
            engine.AddCheckIn(checkIn);
            engine.AddConveyorPart(conveyor);

            engine.AddDropOff(dropOff);

            engine.LinkTwoNodes(checkIn, conveyor);
            engine.LinkTwoNodes(conveyor, dropOff);

            engine.Run();

            Assert.AreEqual(1, Convert.ToInt32(dropOff.baggages.Count));
        }
コード例 #18
0
 /// <summary>
 /// Запуск процесса пострройки
 /// </summary>
 public void Construct(Conveyor conveyor)
 {
     conveyor.BuildFrame();
     conveyor.BuildEngine();
     conveyor.BuildWheels();
     conveyor.BuildDoors();
 }
コード例 #19
0
ファイル: Engine.cs プロジェクト: BobiGeorge/baggager
        public Conveyor AddConveyor()
        {
            Conveyor c = new Conveyor();

            conveyors.Add(c);
            return(c);
        }
コード例 #20
0
        public override void Load()
        {
            base.Load();

            ConveyorSoundEffect        = ContentManager.ConveyorSoundEffect.CreateInstance();
            ConveyorSoundEffect.Volume = 0.4f;

            Player = new Player(new PlayerInput()
            {
                Jump = Keys.W, Left = Keys.A, Right = Keys.D, Windup = Keys.Space
            })
            {
                MaxSpeed        = new Vector2(10, 10),
                MaxAcceleration = 3,
                Acceleration    = 1f,
                ConveyorSpeed   = ConveyorSpeed
            };

            Player.Position = new Vector2(1000, 470 - Player.Size.Height);

            Progressbar = new Progressbar(Player, new System.Drawing.Size(80, 20))
            {
                MaxValue = Player.ALIVE_MAX,
                Value    = 0
            };

            ConveyorHitBox = new Sprite()
            {
                Texture = ContentManager.ProgressBarBackground, Position = new Vector2(JamGame.ScreenWidth - 1000, 470), Size = new System.Drawing.Size(2000, 80)
            };
            Conveyor = new Conveyor()
            {
                Position = new Vector2(JamGame.ScreenWidth - 1080, 400), Size = new System.Drawing.Size(2000, 100)
            };

            Clock = new Clock(ContentManager.Clock, 30)
            {
                Position = new Vector2(JamGame.ScreenWidth - 592, 115), Size = new System.Drawing.Size(175, 175)
            };
            Components.Add(Clock);
            // Häcksler
            Components.Add(new Chopper()
            {
                Position = new Vector2(25, 600), Size = new System.Drawing.Size(JamGame.ScreenWidth - 900, 600)
            });

            Components.Add(Progressbar);
            Components.Add(ConveyorHitBox);
            Components.Add(Conveyor);
            Components.Add(Player);

            GameStarted    = false;
            GameStartTimer = 0;
            Conveyor.AnimationManager.Animation.FrameSpeed = 999999;

            Level = 1;

            AddDebugInfo();
        }
コード例 #21
0
 public void SaveUnitsConfiguration()
 {
     Needle.SaveConfiguration("NeedleConfiguration");
     Conveyor.SaveConfiguration("ConveyorConfiguration");
     Charger.SaveConfiguration("ChargerConfiguration");
     Rotor.SaveConfiguration("RotorConfiguration");
     Pomp.SaveConfiguration("PompConfiguration");
 }
コード例 #22
0
ファイル: KeyboardPractice.cs プロジェクト: Invisi/Blish-HUD
 public KeyboardPractice()
 {
     GameService.GameIntegration.FocusGw2();
     Conveyor = new Conveyor()
     {
         Parent = ContentService.Graphics.SpriteScreen
     };
 }
コード例 #23
0
 // Use this for initialization
 void Start()
 {
     if (isServer)
     {
         conveyor = GameObject.FindGameObjectWithTag("Conveyor").GetComponent <Conveyor>();
         UpdateObjectTexts("Empty");
     }
 }
コード例 #24
0
    // --------------------- CUSTOM METHODS ----------------


    // commands
    void MoveOnConveyor()
    {
        conveyorVelocity = conveyorVelocity.normalized * Conveyor.GetSpeed();
        vel = Vector3.Lerp(vel, conveyorVelocity, Time.deltaTime * 5);
        rb.MovePosition(transform.position + vel * Time.deltaTime);
        //transform.position += vel * Time.deltaTime;
        conveyorVelocity = Vector3.zero;
    }
コード例 #25
0
 public void LoadUnitsConfiguration()
 {
     Needle.LoadConfiguration("NeedleConfiguration");
     Conveyor.LoadConfiguration("ConveyorConfiguration");
     Charger.LoadConfiguration("ChargerConfiguration");
     Rotor.LoadConfiguration("RotorConfiguration");
     Pomp.LoadConfiguration("PompConfiguration");
 }
コード例 #26
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     isFalling = false;
     if (collision.gameObject.GetComponent <Conveyor>())
     {
         currentConveyor = collision.gameObject.GetComponent <Conveyor>();
     }
 }
コード例 #27
0
        public virtual void Pump(ISourceAdapter <TRow> sourceAdapter,
                                 IEnumerable <ITargetAdapter <TRow> > targetAdapters)
        {
            using var resetCurrentSourceAdapter  = new Resettable <ISourceAdapter <TRow> >(CurrentSourceAdapter = sourceAdapter, adapter => CurrentSourceAdapter = null);
            using var setEventFinishedResettable = new Resettable <ManualResetEvent>(FinishedEvent, evt => evt.Set());
            SetupAndHealthCheckAdapters(sourceAdapter, targetAdapters, out var targetAdaptersCount);
            using var unSetupAdaptersResettable = new Resettable <object>(this, obj => UnSetupAdapters(sourceAdapter, targetAdapters));

            sourceAdapter.Prepare();
            using var unPrepareSourceAdapterResettable = new Resettable <ISourceAdapter <TRow> >(sourceAdapter, adapter => adapter.UnPrepare());

            foreach (var targetAdapter in targetAdapters)
            {
                targetAdapter.Prepare(sourceAdapter);
            }
            CheckDeadlockPotential(sourceAdapter, targetAdapters);

            var targetAdapterIndex     = 0;
            var targetAdapterConveyors = new Conveyor <TRow> [targetAdaptersCount];

            foreach (var targetAdapter in targetAdapters)
            {
                targetAdapterConveyors[targetAdapterIndex++] = new Conveyor <TRow>((row, context) =>
                {
                    ((ITargetAdapter <TRow>)context).Process(row);
                    sourceAdapter.ReleaseRow(row);
                }, targetAdapter);
            }

            try
            {
                foreach (var targetAdapterConveyor in targetAdapterConveyors)
                {
                    targetAdapterConveyor.Start();
                }

                var sourceRows = sourceAdapter.RowsEnumerable;
                foreach (var row in sourceRows)
                {
                    foreach (var targetAdapterConveyor in targetAdapterConveyors)
                    {
                        targetAdapterConveyor.InsertPacket(row);
                    }
                }

                foreach (var targetAdapterConveyor in targetAdapterConveyors)
                {
                    targetAdapterConveyor.StopAndWait();
                }
                targetAdapters.ForEach(adapter => adapter.UnPrepare());
            }
            catch (Exception e)
            {
                targetAdapterConveyors.ForEach(conveyor => conveyor.Stop(), typeof(InvalidOperationException), false);
                targetAdapters.ForEach(adapter => adapter.AbortedWithException(e));
                throw;
            }
        }
コード例 #28
0
        public void ConveyorInitialisation()
        {
            DropOff  drop = new DropOff(5, "Drop1");
            Conveyor conv = new Conveyor(drop, "Conv1");

            conv.Number = 0;

            Assert.AreEqual(conv.Number, 0);
        }
コード例 #29
0
 internal void RebuildConveyorList()
 {
     if (DateTime.Now - Conveyor.LastRebuild > TimeSpan.FromSeconds(30))
     {
         HashSet <IMyEntity> entities = new HashSet <IMyEntity>();
         MyAPIGateway.Entities.GetEntities(entities, x => x.Physics != null && !x.Closed);
         Conveyor.RebuildConveyorList(entities);
     }
 }
コード例 #30
0
 protected override void Unload()
 {
     this.StopButton.Dispose();
     this.StopButton = null;
     this.Conveyor.Dispose();
     this.Conveyor = null;
     this.StopPlayback();
     GameService.Overlay.BlishHudWindow.RemoveTab(MusicianTab);
     ModuleInstance = null;
 }