コード例 #1
0
    public static void ParticleRendererSettings(this ParticleSystem PS,
                                                bool enabled = true,
                                                string Resources_MeshObject         = null,
                                                string Resources_Material           = null,
                                                string Resources_TrailMaterial      = null,
                                                ParticleSystemRenderMode RenderMode = ParticleSystemRenderMode.Stretch,
                                                ParticleSystemSortMode SortMode     = ParticleSystemSortMode.Distance
                                                )
    {
        // Call Last
        ParticleSystemRenderer PR = PS.GetComponent <ParticleSystemRenderer>();

        // Renderer Settings
        PR.enabled = enabled;
        // Mesh Options / Material Options
        if (Resources_MeshObject != null)
        {
            GameObject ResourceMesh = (GameObject)LoadResource(Resources_MeshObject);
            PR.mesh = ResourceMesh.GetComponent <MeshFilter>().sharedMesh;
        }
        if (Resources_Material != null)
        {
            PR.material = (Material)LoadResource(Resources_Material);
        }
        if (Resources_TrailMaterial != null)
        {
            PR.trailMaterial = (Material)LoadResource(Resources_TrailMaterial);
        }
        // Mode Settings
        PR.renderMode = RenderMode;
        PR.sortMode   = SortMode;
    }
コード例 #2
0
    private static int set_sortMode(IntPtr L)
    {
        object obj = null;
        int    result;

        try
        {
            obj = ToLua.ToObject(L, 1);
            ParticleSystemRenderer particleSystemRenderer = (ParticleSystemRenderer)obj;
            ParticleSystemSortMode sortMode = (ParticleSystemSortMode)((int)ToLua.CheckObject(L, 2, typeof(ParticleSystemSortMode)));
            particleSystemRenderer.sortMode = sortMode;
            result = 0;
        }
        catch (Exception ex)
        {
            result = LuaDLL.toluaL_exception(L, ex, (obj != null) ? ex.Message : "attempt to index sortMode on a nil value");
        }
        return(result);
    }
コード例 #3
0
    private static int get_sortMode(IntPtr L)
    {
        object obj = null;
        int    result;

        try
        {
            obj = ToLua.ToObject(L, 1);
            ParticleSystemRenderer particleSystemRenderer = (ParticleSystemRenderer)obj;
            ParticleSystemSortMode sortMode = particleSystemRenderer.sortMode;
            ToLua.Push(L, sortMode);
            result = 1;
        }
        catch (Exception ex)
        {
            result = LuaDLL.toluaL_exception(L, ex, (obj != null) ? ex.Message : "attempt to index sortMode on a nil value");
        }
        return(result);
    }
コード例 #4
0
        protected override void ReadFromImpl(object obj)
        {
            base.ReadFromImpl(obj);
            ParticleSystemRenderer uo = (ParticleSystemRenderer)obj;

            mesh                = ToID(uo.mesh);
            alignment           = uo.alignment;
            renderMode          = uo.renderMode;
            sortMode            = uo.sortMode;
            lengthScale         = uo.lengthScale;
            velocityScale       = uo.velocityScale;
            cameraVelocityScale = uo.cameraVelocityScale;
            normalDirection     = uo.normalDirection;
            sortingFudge        = uo.sortingFudge;
            minParticleSize     = uo.minParticleSize;
            maxParticleSize     = uo.maxParticleSize;
            pivot               = uo.pivot;
            maskInteraction     = uo.maskInteraction;
            trailMaterial       = ToID(uo.trailMaterial);
            enableGPUInstancing = uo.enableGPUInstancing;
            shadowBias          = uo.shadowBias;
            flip                = uo.flip;
            allowRoll           = uo.allowRoll;
        }