コード例 #1
0
ファイル: Program.cs プロジェクト: bcostea/nanodi
        private static void Main(string[] args)
        {
            AbstractApplicationContext appCtx = new AttributeApplicationContext("NdiExample");

            IMainComponent mainComponent = (IMainComponent)appCtx.GetComponent("mainComponent");

            mainComponent.Start();

            Console.ReadLine();
        }
コード例 #2
0
        private void Add(IMainComponent comp, bool forExport)
        {
            if (comp == null)
            {
                return;
            }
            var name = comp.name;

            switch (comp)
            {
            case BumperComponent bumperComponent:
                var bumperData = bumperComponent.CopyDataTo(_tableComponent.LegacyContainer.Bumpers.ContainsKey(name) ? _tableComponent.LegacyContainer.Bumpers[name] : new BumperData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Bumper(bumperData));
                break;

            case FlipperComponent flipperComponent:
                var flipperData = flipperComponent.CopyDataTo(_tableComponent.LegacyContainer.Flippers.ContainsKey(name) ? _tableComponent.LegacyContainer.Flippers[name] : new FlipperData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Flipper(flipperData));
                break;

            case GateComponent gateComponent:
                var gatData = gateComponent.CopyDataTo(_tableComponent.LegacyContainer.Gates.ContainsKey(name) ? _tableComponent.LegacyContainer.Gates[name] : new GateData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Gate(gatData));
                break;

            case TargetComponent targetComponent:
                var hitTargetData = targetComponent.CopyDataTo(_tableComponent.LegacyContainer.HitTargets.ContainsKey(name) ? _tableComponent.LegacyContainer.HitTargets[name] : new HitTargetData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new HitTarget(hitTargetData));
                break;

            case KickerComponent kickerComponent:
                var kickerData = kickerComponent.CopyDataTo(_tableComponent.LegacyContainer.Kickers.ContainsKey(name) ? _tableComponent.LegacyContainer.Kickers[name] : new KickerData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Kicker(kickerData));
                break;

            case LightComponent lightComponent:
                var lightData = lightComponent.CopyDataTo(_tableComponent.LegacyContainer.Lights.ContainsKey(name) ? _tableComponent.LegacyContainer.Lights[name] : new LightData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Light(lightData));
                break;

            case PlungerComponent plungerComponent:
                var plungerData = plungerComponent.CopyDataTo(_tableComponent.LegacyContainer.Plungers.ContainsKey(name) ? _tableComponent.LegacyContainer.Plungers[name] : new PlungerData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Plunger(plungerData));
                break;

            case PrimitiveComponent primitiveComponent:
                var primitiveData = primitiveComponent.CopyDataTo(_tableComponent.LegacyContainer.Primitives.ContainsKey(name) ? _tableComponent.LegacyContainer.Primitives[name] : new PrimitiveData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Primitive(primitiveData));
                break;

            case RampComponent rampComponent:
                var rampData = rampComponent.CopyDataTo(_tableComponent.LegacyContainer.Ramps.ContainsKey(name) ? _tableComponent.LegacyContainer.Ramps[name] : new RampData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Ramp(rampData));
                break;

            case RubberComponent rubberComponent:
                var rubberData = rubberComponent.CopyDataTo(_tableComponent.LegacyContainer.Rubbers.ContainsKey(name) ? _tableComponent.LegacyContainer.Rubbers[name] : new RubberData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Rubber(rubberData));
                break;

            case SpinnerComponent spinnerComponent:
                var spinnerData = spinnerComponent.CopyDataTo(_tableComponent.LegacyContainer.Spinners.ContainsKey(name) ? _tableComponent.LegacyContainer.Spinners[name] : new SpinnerData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Spinner(spinnerData));
                break;

            case SurfaceComponent surfaceComponent:
                var surfaceData = surfaceComponent.CopyDataTo(_tableComponent.LegacyContainer.Surfaces.ContainsKey(name) ? _tableComponent.LegacyContainer.Surfaces[name] : new SurfaceData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Surface(surfaceData));
                break;

            case TriggerComponent triggerComponent:
                var triggerData = triggerComponent.CopyDataTo(_tableComponent.LegacyContainer.Triggers.ContainsKey(name) ? _tableComponent.LegacyContainer.Triggers[name] : new TriggerData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Trigger(triggerData));
                break;

            case TroughComponent troughComponent:
                var troughData = troughComponent.CopyDataTo(new TroughData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new Trough(troughData));
                break;

            case MetalWireGuideComponent metalWireGuideComponent:
                var metalWireGuideData = metalWireGuideComponent.CopyDataTo(_tableComponent.LegacyContainer.MetalWireGuides.ContainsKey(name) ? _tableComponent.LegacyContainer.MetalWireGuides[name] : new MetalWireGuideData(), MaterialNames, TextureNames, forExport);
                Add(comp.gameObject.name, new MetalWireGuide(metalWireGuideData));
                break;
            }
        }
コード例 #3
0
ファイル: MainController.cs プロジェクト: vikalf/VicSites.Api
 public MainController(ILogger <MainController> logger, IMainComponent mainComponent)
 {
     _logger        = logger;
     _mainComponent = mainComponent;
 }