// Use this for initialization void Start() { conveyor = GameObject.FindGameObjectWithTag("conveyor").GetComponent <ConveyorManager>(); chopMaster = conveyor.chopMaster; cursorPos = conveyor.transform.GetChild(0).position; GoToGrabPos(); }
private void Start() { manager = GameObject.FindWithTag("TileManager").GetComponent <ConveyorManager>(); sr = GetComponent <SpriteRenderer>(); mb = GameObject.FindObjectOfType <MenuBehaviour>(); startColor = sr.color; }
// Use this for initialization void Start() { audioManager = GameObject.Find("AudioManager"); conveyor = GameObject.FindGameObjectWithTag("conveyor").GetComponent <ConveyorManager>(); handManager = hand.GetComponent <HandManager>(); activated = false; madeArrowSequenceList = false; currSequenceIdx = 0; sequenceIterator = 0; arrowTime = timeBetweenArrows; }
/// <summary> Create <see cref="IConveyor{TData, TResult}" /> with single static conveyor machine without service registration </summary> /// <param name="services"> Service collection </param> /// <param name="conveyorMachine"> Conveyor machine instance </param> /// <param name="maxAttempts"> Max allowed retry on fail attempts </param> /// <typeparam name="TData"> Input data type </typeparam> /// <typeparam name="TResult"> Processing result type </typeparam> /// <exception cref="ArgumentNullException"> Thrown if <paramref name="conveyorMachine" /> is NULL </exception> public static IConveyor <TData, TResult> CreateConveyor <TData, TResult>(this IServiceCollection services, IConveyorMachine <TData, TResult> conveyorMachine, int maxAttempts = int.MaxValue) where TData : notnull { if (conveyorMachine == null) { throw new ArgumentNullException(nameof(conveyorMachine)); } var manager = new ConveyorManager <TData, TResult>(maxAttempts); services.AddHostedService(provider => new TaskWorker <IConveyorMachine <TData, TResult>, object?>(provider, manager, ProcessorFactory.CreateProcessor <IConveyorMachine <TData, TResult>, object?>(conveyorMachine))); return(manager); }
public void HandleOneMotorPulseTest() { BiscuitMakerManager.TurnOn(this.Maker); Action action = () => ConveyorManager.HandleMotorPulse( null, new OnMotorPulseEventArgs { Maker = this.Maker } ); action.Should().NotThrow(); this.Maker.FirstConveyor.Belt.Count.Should().Be(6); this.Maker.FirstConveyor.Belt.ElementAt(1).Should().NotBeNull(); this.Maker.FirstConveyor.Belt.ElementAt(1).IsExtruded.Should().BeTrue(); }
/// <summary> Create <see cref="IConveyor{TData, TResult}" /> with static conveyor machines without service registration </summary> /// <param name="services"> Service collection </param> /// <param name="conveyorMachines"> Conveyor machines collection </param> /// <param name="maxAttempts"> Max allowed retry on fail attempts </param> /// <typeparam name="TData"> Input data type </typeparam> /// <typeparam name="TResult"> Processing result type </typeparam> /// <exception cref="ArgumentNullException"> Thrown if <paramref name="conveyorMachines" /> is NULL </exception> /// <exception cref="ArgumentException"> Thrown if <paramref name="conveyorMachines" /> collection is empty </exception> public static IConveyor <TData, TResult> CreateConveyor <TData, TResult>(this IServiceCollection services, IEnumerable <IConveyorMachine <TData, TResult> > conveyorMachines, int maxAttempts = int.MaxValue) where TData : notnull { var arguments = (conveyorMachines ?? throw new ArgumentNullException(nameof(conveyorMachines))).Where(machine => machine != null).ToList(); if (arguments.Count == 0) { throw new ArgumentException("Empty collection", nameof(conveyorMachines)); } var manager = new ConveyorManager <TData, TResult>(maxAttempts); services.AddHostedService(provider => new TaskWorker <IConveyorMachine <TData, TResult>, object?>(provider, manager, ProcessorFactory.CreateProcessor <IConveyorMachine <TData, TResult>, object?>(arguments))); return(manager); }
public void HandleFullCycleMotorPulseTest() { BiscuitMakerManager.TurnOn(this.Maker); Action action = () => ConveyorManager.HandleMotorPulse( null, new OnMotorPulseEventArgs { Maker = this.Maker } ); action.Should().NotThrow(); action.Invoke(); action.Invoke(); action.Invoke(); action.Invoke(); action.Invoke(); this.Maker.FirstConveyor.Belt.Count.Should().Be(6); this.Maker.FirstConveyor.Belt.ElementAt(0).Should().BeNull(); this.Maker.FirstConveyor.Belt.ElementAt(1).Should().NotBeNull(); this.Maker.FirstConveyor.Belt.ElementAt(1).IsExtruded.Should().BeTrue(); this.Maker.FirstConveyor.Belt.ElementAt(2).Should().NotBeNull(); this.Maker.FirstConveyor.Belt.ElementAt(2).IsExtruded.Should().BeTrue(); this.Maker.FirstConveyor.Belt.ElementAt(2).IsStamped.Should().BeTrue(); this.Maker.FirstConveyor.Belt.ElementAt(3).Should().NotBeNull(); this.Maker.FirstConveyor.Belt.ElementAt(3).IsExtruded.Should().BeTrue(); this.Maker.FirstConveyor.Belt.ElementAt(3).IsStamped.Should().BeTrue(); this.Maker.FirstConveyor.Belt.ElementAt(4).Should().NotBeNull(); this.Maker.FirstConveyor.Belt.ElementAt(4).IsExtruded.Should().BeTrue(); this.Maker.FirstConveyor.Belt.ElementAt(4).IsStamped.Should().BeTrue(); this.Maker.FirstConveyor.Belt.ElementAt(5).Should().NotBeNull(); this.Maker.FirstConveyor.Belt.ElementAt(5).IsExtruded.Should().BeTrue(); this.Maker.FirstConveyor.Belt.ElementAt(5).IsStamped.Should().BeTrue(); this.Maker.FirstBucket.Biscuits.Count.Should().Be(1); this.Maker.FirstBucket.Biscuits.First().IsExtruded.Should().BeTrue(); this.Maker.FirstBucket.Biscuits.First().IsStamped.Should().BeTrue(); this.Maker.FirstBucket.Biscuits.First().IsDone.Should().BeTrue(); }
/// <summary> /// Create <see cref="IConveyor{TData, TResult}" /> with given conveyor machines reuse <paramref name="strategy" /> without service /// registration /// </summary> /// <param name="services"> Service collection </param> /// <param name="conveyorMachineFactory"> Conveyor machine factory function </param> /// <param name="strategy"> Conveyor machines reuse strategy <seealso cref="ReuseStrategy" /></param> /// <param name="maxParallelMachines"> Max allowed parallel conveyor machines </param> /// <param name="maxAttempts"> Max allowed retry on fail attempts </param> /// <typeparam name="TData"> Input data type </typeparam> /// <typeparam name="TResult"> Processing result type </typeparam> /// <exception cref="ArgumentNullException"> Thrown if <paramref name="conveyorMachineFactory" /> is NULL </exception> /// <exception cref="InvalidEnumArgumentException"> Thrown if <paramref name="strategy" /> has incorrect value </exception> public static IConveyor <TData, TResult> CreateConveyor <TData, TResult>(this IServiceCollection services, Func <IServiceProvider, IConveyorMachine <TData, TResult> > conveyorMachineFactory, ReuseStrategy strategy, int maxParallelMachines = 1, int maxAttempts = int.MaxValue) where TData : notnull { if (conveyorMachineFactory == null) { throw new ArgumentNullException(nameof(conveyorMachineFactory)); } if (strategy != ReuseStrategy.Static && strategy != ReuseStrategy.Reuse && strategy != ReuseStrategy.OneTime) { throw new InvalidEnumArgumentException(nameof(strategy), (int)strategy, typeof(ReuseStrategy)); } var manager = new ConveyorManager <TData, TResult>(maxAttempts); services.AddHostedService(provider => new TaskWorker <IConveyorMachine <TData, TResult>, object?>(provider, manager, ProcessorFactory.CreateProcessor <IConveyorMachine <TData, TResult>, object?>(conveyorMachineFactory, strategy, provider, maxParallelMachines))); return(manager); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); ConveyorManager conveyor = (ConveyorManager)target; string text = "####################################################\n INVENTORY\n####################################################\n"; for (int i = 0; i < conveyor.ConveyorInv.items.Count; i++) { Item item = conveyor.ConveyorInv.items[i]; int quantity = conveyor.ConveyorInv.quantity[i]; text += (item.name + ": " + quantity + "\n"); } if (conveyor.ConveyorInv.items.Count == 0) { text += "Inv empty"; } GUILayout.Label(text); }
private void Start() { manager = GameObject.FindWithTag("TileManager").GetComponent <ConveyorManager>(); //InvokeRepeating("SpawnObject", 0, spawnTimer); StartCoroutine(SpawnObject()); }