コード例 #1
0
ファイル: ResourceButton.cs プロジェクト: Syldarion/DJD-JP
 public void PopulateButton(ResourceGenerator reference_generator)
 {
     CostText.text     = string.Format("Cost: {0} Gold", reference_generator.Cost);
     FoodGenText.text  = string.Format("{0} Food / Turn", reference_generator.ResourcesPerTurn[0]);
     SugarGenText.text = string.Format("{0} Sugar / Turn", reference_generator.ResourcesPerTurn[1]);
     SpiceGenText.text = string.Format("{0} Spice / Turn", reference_generator.ResourcesPerTurn[2]);
 }
コード例 #2
0
ファイル: Port.cs プロジェクト: Syldarion/DJD-JP
    void GenerateResources()
    {
        Resources = new List <ResourceGenerator>();
        LandHex parent_hex = transform.parent.GetComponent <LandHex>();

        if (!parent_hex)
        {
            return;
        }

        foreach (HexCoordinate hc in parent_hex.Directions)
        {
            HexTile neighbor = parent_hex.GetNeighbor(hc);
            if (neighbor && !neighbor.IsWater)
            {
                if (neighbor.transform.childCount < 1)
                {
                    ResourceGenerator new_resource = Instantiate(ResourceGeneratorPrefab).GetComponent <ResourceGenerator>();
                    new_resource.transform.SetParent(neighbor.transform);
                    new_resource.transform.position   = neighbor.transform.position + new Vector3(0.0f, 2.0f);
                    new_resource.transform.localScale = new Vector3(0.01f, 0.1f, 0.01f);
                    Resources.Add(new_resource);
                }
            }
        }
    }
コード例 #3
0
    private void Update()
    {
        int   nearbyResourceAmount = ResourceGenerator.GetNearbyResourceAmount(resourceGeneratorData, transform.position - transform.localPosition);
        float percent = Mathf.RoundToInt((float)nearbyResourceAmount / resourceGeneratorData.maxResourceAmount * 100f);

        transform.Find("Text").GetComponent <TextMeshPro>().SetText(percent + "%");
    }
コード例 #4
0
        public void DecorateClass(IResource resource,
            string className,
            CodeTypeDeclaration resourceClass,
            ResourceClassGenerator generator,
            string serviceClassName,
            IEnumerable<IResourceDecorator> allDecorators)
        {
            var gen = new ResourceGenerator(className, objectTypeProvider, commentCreator);
            foreach (var method in resource.Methods.Values)
            {
                logger.Debug("Adding RequestObject Method {0}.{1}", resource.Name, method.Name);

                // Add the default request method to the class:
                CodeTypeMember convenienceMethod = gen.CreateMethod(resourceClass, resource, method, false);
                if (convenienceMethod != null)
                {
                    resourceClass.Members.Add(convenienceMethod);
                }

                // Add the request method specifiying all parameters (also optional ones) to the class:
                if (AddOptionalParameters && method.HasOptionalParameters())
                {
                    convenienceMethod = gen.CreateMethod(resourceClass, resource, method, true);
                    if (convenienceMethod != null)
                    {
                        resourceClass.Members.Add(convenienceMethod);
                    }
                }
            }
        }
 // Use this for initialization
 void Awake()
 {
     InstanceResourceGenerator = this;
     stats = GameObject.Find("Stats").GetComponent <Stats>();
     Initialize();
     InitializeEconomy();
 }
コード例 #6
0
ファイル: ResourceButton.cs プロジェクト: Syldarion/DJD-JP
 public void PopulateButton(ResourceGenerator reference_generator)
 {
     CostText.text = string.Format("Cost: {0} Gold", reference_generator.Cost);
     FoodGenText.text = string.Format("{0} Food / Turn", reference_generator.ResourcesPerTurn[0]);
     SugarGenText.text = string.Format("{0} Sugar / Turn", reference_generator.ResourcesPerTurn[1]);
     SpiceGenText.text = string.Format("{0} Spice / Turn", reference_generator.ResourcesPerTurn[2]);
 }
コード例 #7
0
    public override void SpawnUnit(Cell cell)
    {
        bool canAfford = true;

        foreach (ResourceCost cost in Costs)
        {
            if (!cost.CanAfford())
            {
                canAfford = false;
            }
        }


        if (canAfford && cell != null)
        {
            foreach (ResourceCost cost in Costs)
            {
                cost.Resource.ReduceAmount(cost.Cost);
            }

            ResourceGenerator newUnit = Instantiate(prototype);
            newUnit.Initialize(resourcePrototype, gameController);

            newUnit.transform.SetParent(cell.transform, false);
        }
    }
コード例 #8
0
        public ActionResult DeleteConfirmed(long id)
        {
            ResourceGenerator resourceGenerator = db.ResourceGenerators.Find(id);

            db.ResourceGenerators.Remove(resourceGenerator);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #9
0
    private void Awake()
    {
        instance = this;

        // store map's size.
        width  = Planet.instance.Width;
        height = Planet.instance.Height;
    }
コード例 #10
0
    private void Update()
    {
        int nearbyResources = ResourceGenerator.GetNearbyResources(_resourceGeneratorData,
                                                                   transform.position - transform.localPosition);
        float percent = Mathf.RoundToInt((float)nearbyResources / _resourceGeneratorData.maxResourceAmount * 100f);

        _text.SetText(percent.ToString() + "%");
    }
コード例 #11
0
    public void Initialize(ResourceGenerator generator, GameController gameController)
    {
        unit.Initialize(gameController);
        unit.OnTickEvent.AddListener(OnTick);

        foreach (ResourceGeneration generation in generator.ResourcesPerTick)
        {
            ResourcesPerTick.Add(new ResourceGeneration(generation.Resource, generation.Amount, generation.RemoveResource));
        }
    }
コード例 #12
0
 public ActionResult Edit([Bind(Include = "Id,Name,Level")] ResourceGenerator resourceGenerator)
 {
     if (ModelState.IsValid)
     {
         db.Entry(resourceGenerator).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(resourceGenerator));
 }
コード例 #13
0
        protected override void GenerateFramebuffer()
        {
            var textureDescription = ResourceGenerator.CreateEmptyCubeMapTextureDescription(1024);

            var depthTexture = _factory.CreateTexture(textureDescription);
            depthTexture.Name = "OmniShadowCubeTexture";
            ShadowMapTexView = _factory.CreateTextureView(depthTexture);

            _frameBuffer = _factory.CreateFramebuffer(new FramebufferDescription(depthTexture, Array.Empty<Texture>()));
        }
        public static void RandomSeed(StudentDbContext context)
        {
            for (int i = 0; i < 100; i++)
            {
                context.Add(StudentGenerator.GenerateStudent());
                context.Add(CourseGenerator.GenerateCourse());
                context.Add(ResourceGenerator.GenerateResource());

                context.SaveChanges();
            }
        }
コード例 #15
0
        public ActionResult Create([Bind(Include = "Id,Name,Level")] ResourceGenerator resourceGenerator)
        {
            if (ModelState.IsValid)
            {
                db.ResourceGenerators.Add(resourceGenerator);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(resourceGenerator));
        }
コード例 #16
0
        private static void SeedResources(StudentSystemContext context, int count)
        {
            var resourceGenerator = new ResourceGenerator();

            for (int i = 0; i < count; i++)
            {
                context.Resources.Add(resourceGenerator.NewResource());
            }

            context.SaveChanges();
        }
コード例 #17
0
        public void WriteToString_ShouldGenerateResourceFile()
        {
            var resources = CreateResourceData();

            var generator             = ResourceGenerator.CreateGenerator(resources);
            var generatedResourceData = generator.WriteToString();

            Assert.NotEmpty(generatedResourceData);
            Assert.Contains("KeyString1", generatedResourceData);
            Assert.Contains("MaxLength", generatedResourceData);
        }
コード例 #18
0
    private bool CanSpawnBuilding(BuildingTypeSo buildingType, Vector2 position, out string errorMessage)
    {
        var boxCollider2d = buildingType.prefab.GetComponent <BoxCollider2D>();

        var  colliders2dArray = Physics2D.OverlapBoxAll(position + boxCollider2d.offset, boxCollider2d.size, 0);
        bool isAreaClear      = colliders2dArray.Length == 0;

        if (!isAreaClear)
        {
            errorMessage = "Area is not clear!";
            return(false);
        }

        colliders2dArray = Physics2D.OverlapCircleAll(position, buildingType.minConstructionRadius);
        foreach (var collider2D in colliders2dArray)
        {
            //Colliders inside the construction radius
            var buildingTypeHolder = collider2D.GetComponent <BuildingTypeHolder>();
            if (buildingTypeHolder && buildingTypeHolder.buildingType == buildingType)
            {
                //There's already building type within the construction radius
                errorMessage = "Too close to another building of the same type!";
                return(false);
            }
        }

        if (buildingType.hasResourceGeneratorData)
        {
            var resourceGeneratorData = buildingType.resourceGeneratorData;
            int nearbyResourceAmount  = ResourceGenerator.GetNearbyResourceAmount(resourceGeneratorData, position);

            if (nearbyResourceAmount == 0)
            {
                errorMessage = "There are no nearby Resource Nodes!";
                return(false);
            }
        }

        colliders2dArray = Physics2D.OverlapCircleAll(position, maxConstructionRadius);
        foreach (var collider2D in colliders2dArray)
        {
            //Colliders inside the construction radius
            var buildingTypeHolder = collider2D.GetComponent <BuildingTypeHolder>();
            if (buildingTypeHolder)
            {
                //It's not too far from other buildings on the map
                errorMessage = "";
                return(true);
            }
        }

        errorMessage = "Too far from any other building!";
        return(false);
    }
コード例 #19
0
ファイル: PlanetGenerator.cs プロジェクト: Willqvist/GameOff
 public void InitPlanet(PlanetType type, NoiseSettings noise, float radius)
 {
     shapeGenerator    = new ShapeGenerator(noise, radius);
     colorGenerator    = new ColorGenerator(colorSettings);
     meshFilters       = new MeshFilter[6];
     meshColliders     = new MeshCollider[6];
     resourceGenerator = new ResourceGenerator(this.GetComponent <Planet>(), mineType, treeType, noiseSettings);
     planetFaces       = new PlanetFace[6];
     this.type         = type;
     GeneratePlanet();
     loaded = true;
 }
コード例 #20
0
ファイル: Remove.cs プロジェクト: TheBaconSpace/nfpm
        internal async Task <int> Main()
        {
            var plugin = new Name(this.Plugin);

            Definition definition;

            try
            {
                Environment.CurrentDirectory = PathManager.FindResource();

                definition = Definition.Load(Program.DefinitionFile);
            }
            catch (FileNotFoundException ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine("Use `nfpm init` to setup NFive in this directory");

                return(1);
            }

            definition.Dependencies?.Remove(plugin);

            var venderPath = Path.Combine(Environment.CurrentDirectory, Program.PluginPath, plugin.Vendor);

            if (Directory.Exists(venderPath))
            {
                var projectPath = Path.Combine(venderPath, plugin.Project);

                if (Directory.Exists(projectPath))
                {
                    Directory.Delete(projectPath, true);
                }

                if (!Directory.EnumerateFileSystemEntries(venderPath).Any())
                {
                    Directory.Delete(venderPath);
                }
            }

            // TODO: Remove orphaned child dependencies

            var graph = new DefinitionGraph();
            await graph.Build(definition);

            await graph.Apply();

            definition.Save(Program.DefinitionFile);
            graph.Save();
            ResourceGenerator.Serialize(graph).Save();

            return(0);
        }
コード例 #21
0
ファイル: PlanetFace.cs プロジェクト: Willqvist/GameOff
    // Start is called before the first frame update

    public PlanetFace(Planet planet, ResourceGenerator rg, ShapeGenerator shapeGenerator, Mesh mesh, MeshCollider collider, int resolution, Vector3 localUp, bool isTutorialWorld)
    {
        this.context         = planet;
        this.shapeGenerator  = shapeGenerator;
        this.mesh            = mesh;
        this.resolution      = resolution;
        this.localUp         = localUp;
        this.axisA           = new Vector3(localUp.y, localUp.z, localUp.x);
        this.axisB           = Vector3.Cross(localUp, axisA);
        this.collider        = collider;
        this.rg              = rg;
        this.isTutorialWorld = isTutorialWorld;
    }
コード例 #22
0
        public Universe BuildUniverse()
        {
            Universe result = new Universe()
            {
                Name = "universe 1"
            };

            List <SolarSystem> solarSystems = new List <SolarSystem>();

            using (var db = new ASPNetOgameLikeTPContext())
            {
                for (int i = 1; i < this.globalGameConfiguration.SolarSystemNb + 1; i++)
                {
                    SolarSystem solarSystem = new SolarSystem();
                    for (int j = 1; j < this.globalGameConfiguration.PlanetsNb + 1; j++)
                    {
                        Planet planet = new Planet();

                        foreach (var item in this.globalPlanetConfiguration.BuildingsIds)
                        {
                            ResourceGenerator buildingTemp = ConfigurationsUtil.Instance.PlanetResourceGenerators(globalPlanetConfiguration).FirstOrDefault(x => x.Id == item);
                            buildingTemp.Print = DEFAULT_DISPLAY_RESOURCE;
                            buildingTemp.Id    = null;
                            planet.Buildings.Add(ClassUtil.Copy(buildingTemp));
                        }

                        foreach (var item in this.globalPlanetConfiguration.ResourcesIds)
                        {
                            Resource resourceTemp = ConfigurationsUtil.Instance.PlanetResources(globalPlanetConfiguration).FirstOrDefault(x => x.Id == item);
                            resourceTemp.LastUpdate   = DateTime.Now;
                            resourceTemp.LastQuantity = 0;
                            resourceTemp.Print        = DEFAULT_DISPLAY_RESOURCE;
                            resourceTemp.Id           = null;
                            planet.Resources.Add(ClassUtil.Copy(resourceTemp));
                        }

                        planet.CaseNb = MathUtil.DrawRandom(20 * j % 300, 30 * j % 300);
                        planet.Name   = $"Planet{j}";
                        planet.Print  = DEFAULT_DISPLAY_RESOURCE;

                        solarSystem.Planets.Add(planet);
                    }
                    solarSystem.Name = "système solaire " + i;
                    solarSystems.Add(solarSystem);
                }
            }

            result.SolarSystems.AddRange(solarSystems);

            return(result);
        }
コード例 #23
0
        // GET: ResourceGenerators/Delete/5
        public ActionResult Delete(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ResourceGenerator resourceGenerator = db.ResourceGenerators.Find(id);

            if (resourceGenerator == null)
            {
                return(HttpNotFound());
            }
            return(View(resourceGenerator));
        }
コード例 #24
0
    private bool CanSpawn(BuildingTypeScriptableObject buildingType, Vector3 pos, out string errMsg)
    {
        BoxCollider2D box = buildingType.prefab.GetComponent <BoxCollider2D>();

        Collider2D[] colliders = Physics2D.OverlapBoxAll((Vector2)pos + box.offset, box.size, 0);
        if (colliders.Length != 0)
        {
            errMsg = "Area not clear";
            return(false);
        }
        // Look to see if there are any other factories of this type too close
        colliders = Physics2D.OverlapCircleAll(pos, buildingType.minSeparation);
        foreach (Collider2D collider in colliders)
        {
            BuildingTypeRef buildingTypeRef = collider.GetComponent <BuildingTypeRef>();
            if (buildingTypeRef != null)
            {
                if (buildingTypeRef.buildingType == buildingType)
                {
                    errMsg = "Sorry, there's another factory too closeby";
                    return(false);
                }
            }
        }
        // Make sure there are at least some resources (else this factory would be useless)
        if (buildingType.hasResourceGeneratorData)
        {
            ResourceGeneratorData resourceGeneratorData = buildingType.resourceGeneratorData;
            int nearbyResources = ResourceGenerator.GetNearbyResources(resourceGeneratorData, pos);
            if (nearbyResources == 0)
            {
                errMsg = "No resources nearby";
                return(false);
            }
        }
        // Make sure there is at least one other building nearby (no isolationists!)
        colliders = Physics2D.OverlapCircleAll(pos, maxSeparation);
        foreach (Collider2D collider in colliders)
        {
            BuildingTypeRef buildingTypeRef = collider.GetComponent <BuildingTypeRef>();
            if (buildingTypeRef != null)
            {
                errMsg = "";
                return(true);
            }
        }
        errMsg = "Sorry, that's way too far from another building";
        return(false);
    }
コード例 #25
0
        public void MapValues_ValueShouldBeUpdated()
        {
            var resources = CreateResourceData();

            var stream = new MemoryStream();

            ResourceGenerator.CreateGenerator(resources).MapValues((val => "ABC123")).WriteToStream(stream);

            var sr = new StreamReader(stream);
            var s  = sr.ReadToEnd();

            Assert.NotEmpty(s);
            Assert.DoesNotContain("Value1", s);
            Assert.Contains("ABC123", s);
        }
コード例 #26
0
        public void WriteToStream_ShouldGenerateResourceFile()
        {
            var resources = CreateResourceData();

            var stream = new MemoryStream();

            ResourceGenerator.CreateGenerator(resources).WriteToStream(stream);

            var sr = new StreamReader(stream);
            var s  = sr.ReadToEnd();

            Assert.NotEmpty(s);
            Assert.Contains("KeyString1", s);
            Assert.Contains("MaxLength", s);
        }
コード例 #27
0
 public ShadowMap(GraphicsDevice graphicsDevice, Resolution resolution) : base(graphicsDevice, resolution)
 {
     _sceneRuntimeDescriptor.CameraProjViewBuffer = _factory.CreateBuffer(new BufferDescription(Camera.SizeInBytes, BufferUsage.UniformBuffer | BufferUsage.Dynamic));
     _sceneRuntimeDescriptor.CameraResourceLayout
         = ResourceGenerator.GenerateResourceLayout(
               _factory,
               "projViewWorld",
               ResourceKind.UniformBuffer,
               ShaderStages.Vertex);
     _sceneRuntimeDescriptor.CameraResourceSet
         = ResourceGenerator.GenrateResourceSet(
               _factory,
               _sceneRuntimeDescriptor.CameraResourceLayout,
               new BindableResource[] { _sceneRuntimeDescriptor.CameraProjViewBuffer });
 }
コード例 #28
0
ファイル: Update.cs プロジェクト: lfshr/nfpm
        public override async Task <int> Main()
        {
            // TODO: Output changes

            var graph = new DefinitionGraph();
            await graph.Apply(LoadDefinition());

            graph.Save();

            if (PathManager.IsResource())
            {
                ResourceGenerator.Serialize(graph);
            }

            return(await Task.FromResult(0));
        }
コード例 #29
0
    /*  It is main and most important function for allowing rocket to go on a mission.
     *  It checks almost all conditions (capacity is checking in different place) which has to
     *  be fullfiled to go on mission. Money, Fuel Tank level and Materials level
     */
    public bool CheckConditions(string planetName)
    {
        //Loads necessary objects
        Loader();

        planetComponent    = GameObject.Find(planetName).GetComponent <Planet>();
        _economyComponent  = _economyObject.GetComponent <Economy>();
        _myTimer           = _economyObject.GetComponent <MyTimer>();
        _resourceGenerator = _economyObject.GetComponent <ResourceGenerator>();

        //Check if player has enough money and the rocket is not on a mission already
        if (planetComponent.flightCost <= _economyComponent.getMoney() && _myTimer.timeStart == false)
        {
            //Check if distance is not too big - fuel tank level is enough
            if (_rocket.GetMaxDistance() >= planetComponent.distance)
            {
                //Check if the temperature on the planet is not too big or too small to land on it - materials have to be on enough level
                if (_rocket.GetMaximumTeperature() >= planetComponent.averageTemperature && _rocket.GetMinimumTemeperature() <= planetComponent.averageTemperature)
                {
                    _resourceGenerator.AddResources(planetName);
                    PlayerPrefs.SetString("PlanetName", planetName);
                    _myTimer.SetCurrentPlanetName(planetName);
                    _myTimer.timeStart = true;

                    return(true);
                }
                else
                {
                    PanelTurnOn();
                    _textError.text = "Temperature on the planet is too dangerous for your rocket. You need to develop new materials";
                    return(false);
                }
            }
            else
            {
                PanelTurnOn();
                _textError.text = "Planet is too far. You have to upgrade your Engine!";
                return(false);
            }
        }
        else
        {
            PanelTurnOn();
            _textError.text = "You have not enough money! You can sell some resources in shop.";
            return(false);
        }
    }
コード例 #30
0
        // Start is called before the first frame update
        private void Start()
        {
            _player            = GameObject.FindWithTag("Player");
            _resourceCollector = GameObject.FindWithTag("ResourceCollector").GetComponent <ResourceCollector>();
            _resourceGenerator = GameObject.FindWithTag("ResourceGenerator").GetComponent <ResourceGenerator>();

            // Spawn random number of essence pieces
            System.Random rnd = new System.Random();
            _essenceNumber = rnd.Next(8, 14);
            SpawnEssencePieces(_essenceNumber);

            // Set initial values for hover effect
            _timeCounter            = Random.Range(0, 200);
            _basePosition           = transform.position;
            _movingTowardsPlayer    = false;
            _moveTowardsPlayerSpeed = DefaultMoveTowardsPlayerSpeed;
        }
コード例 #31
0
ファイル: GameManager.cs プロジェクト: S00189824/RayCasting
    public void SpawnGenerator(Vector3 location, Vector3 normal, Color resourceColor)
    {
        //Any returns a bool

        if (possibleResources.Any(wr => wr.resourceColorPixel == resourceColor))
        {
            ResourceType type = possibleResources.Find(wr => wr.resourceColorPixel == resourceColor).Resource;

            GameObject generator = Instantiate(generatorPrefab, location, Quaternion.identity);
            generator.transform.up = normal;

            ResourceGenerator res = generator.GetComponent <ResourceGenerator>();
            res.SetMaterialColor(resourceColor);

            registeredGenerators[type]++;
        }
    }
コード例 #32
0
        public OmniShadowMap(GraphicsDevice graphicsDevice, Resolution resolution)
            : base(graphicsDevice, resolution)
        {
            _sceneRuntimeDescriptor.CameraProjViewBuffer = _factory.CreateBuffer(new BufferDescription(Camera.SizeInBytes, BufferUsage.UniformBuffer | BufferUsage.Dynamic));
            _sceneRuntimeDescriptor.CameraResourceLayout
                = ResourceGenerator.GenerateResourceLayout(
                    _factory,
                    "projViewWorld",
                    ResourceKind.UniformBuffer,
                    ShaderStages.Vertex);
            _sceneRuntimeDescriptor.CameraResourceSet
                = ResourceGenerator.GenrateResourceSet(
                    _factory,
                    _sceneRuntimeDescriptor.CameraResourceLayout,
                    new BindableResource[] { _sceneRuntimeDescriptor.CameraProjViewBuffer });

             _sceneRuntimeDescriptor.OmniLightProjViewBuffer = _factory.CreateBuffer(new BufferDescription(6*Core.Numerics.Utils.SinglePrecision4x4InBytes, BufferUsage.UniformBuffer | BufferUsage.Dynamic));
            _sceneRuntimeDescriptor.OmniLightProvViewResourceLayout
                = ResourceGenerator.GenerateResourceLayout(
                    _factory,
                    "shadowMatrices",
                    ResourceKind.UniformBuffer,
                    ShaderStages.Geometry);
            _sceneRuntimeDescriptor.OmniLightProjViewResourceSet
                = ResourceGenerator.GenrateResourceSet(
                    _factory,
                    _sceneRuntimeDescriptor.OmniLightProvViewResourceLayout,
                    new BindableResource[] { _sceneRuntimeDescriptor.OmniLightProjViewBuffer });

            _sceneRuntimeDescriptor.CameraInfoBuffer = _factory.CreateBuffer(new BufferDescription(32, BufferUsage.UniformBuffer));
            _sceneRuntimeDescriptor.CameraInfoResourceLayout
                = ResourceGenerator.GenerateResourceLayout(
                    _factory,
                    "cameraInfo",
                    ResourceKind.UniformBuffer,
                    ShaderStages.Fragment);
            _sceneRuntimeDescriptor.CameraInfoResourceSet
                = ResourceGenerator.GenrateResourceSet(
                    _factory,
                    _sceneRuntimeDescriptor.CameraInfoResourceLayout,
                    new BindableResource[] { _sceneRuntimeDescriptor.CameraInfoBuffer });

            ShadowMatrices = _sceneRuntimeDescriptor.OmniLightProjViewResourceSet;
            CameraInfo = _sceneRuntimeDescriptor.CameraInfoResourceSet;
        }