Example #1
0
    public SGT_StarfieldStarVariant GetStarVariant(int index)
    {
        if (packer != null)
        {
            SGT_ArrayHelper.Resize(ref starVariants, packer.OutputCount, true);
        }

        return(SGT_ArrayHelper.Index(starVariants, index));
    }
    private void RecalculateCoords()
    {
        SGT_ArrayHelper.Resize(ref starVariants, starfieldTextureTilesX * starfieldTextureTilesY, false);

        for (var i = 0; i < starVariants.Count; i++)
        {
            GetStarVariant(i).RecalculateCoords(starfieldTextureTilesX, starfieldTextureTilesY, i);
        }
    }
Example #3
0
    public SGT_StarfieldStarVariant GetStarVariant(int index)
    {
        SGT_ArrayHelper.Resize(ref starVariants, starfieldTextureTilesX * starfieldTextureTilesY, false);

        var starVariant = starVariants[index];

        if (starVariant == null)
        {
            starVariant = starVariants[index] = new SGT_StarfieldStarVariant();
        }

        starVariant.Parent = this;

        return(starVariant);
    }
Example #4
0
    public void Update()
    {
        if (meshes == null)
        {
            meshes = new MeshList();
        }
        if (meshGameObjects == null)
        {
            meshGameObjects = new GameObjectList();
        }

        if (meshGameObjects.Count != meshes.Count)
        {
            SGT_ArrayHelper.Resize(ref meshGameObjects, meshes.Count, true);
        }

        // Update meshes
        for (var i = meshes.Count - 1; i >= 0; i--)
        {
            var mesh           = meshes[i];
            var meshGameObject = meshGameObjects[i];

            if (mesh == null)
            {
                mesh      = new SGT_Mesh();
                meshes[i] = mesh;
            }

            if (meshGameObject == null)
            {
                meshGameObject     = SGT_Helper.CreateGameObject("Mesh " + (i + 1), gameObject);
                meshGameObjects[i] = meshGameObject;
            }

            if (gameObject != null)
            {
                SGT_Helper.SetParent(meshGameObject, gameObject);
                SGT_Helper.SetLayer(meshGameObject, gameObject.layer);
                SGT_Helper.SetTag(meshGameObject, gameObject.tag);
            }

            if (sharedMesh != null)
            {
                mesh.SharedMesh = sharedMesh;
            }
            if (sharedMaterial != null)
            {
                mesh.SharedMaterial = sharedMaterial;
            }
            if (sharedPhysicsMaterial != null)
            {
                mesh.SharedPhysicsMaterial = sharedPhysicsMaterial;
            }

            mesh.GameObject          = meshGameObject;
            mesh.HasMeshRenderer     = hasMeshRenderers;
            mesh.MeshRendererEnabled = meshRenderersEnabled;
            mesh.HasMeshCollider     = hasMeshColliders;
            mesh.MeshColliderEnabled = meshCollidersEnabled;
            mesh.Update();
        }

        // Check integrity
        if (gameObject != null && meshGameObjects.Count != gameObject.transform.childCount)
        {
            SGT_Helper.DestroyChildren(gameObject);
            SGT_Helper.DestroyGameObjects(meshGameObjects);
        }
    }