예제 #1
0
        public void GenerateResult(ProcessingMachine machine)
        {
            var count = Math.Min(machine.outputs.Length, results.Length);

            for (var i = 0; i < count; i++)
            {
                var item = results[i].GetItem(machine);
                if (item != Item.None)
                {
                    machine.outputs[i].buffer = item;
                }
            }
        }
예제 #2
0
        public Item GetItem(ProcessingMachine machine)
        {
            if (variants != null)
            {
                var value = machine.modelWorld.random.NextDouble();
                foreach (var variant in variants)
                {
                    value -= variant.probability;
                    if (value < 0)
                    {
                        return(variant.item);
                    }
                }
            }

            return(result);
        }
예제 #3
0
 public ProcessingMachineItemConnection(ProcessingMachine machine)
 {
     this.machine = machine;
 }