public void SetBlend(Roga2dBlendType blendType, float alpha, Roga2dHue hue)
    {
        // If nothing has changed, don't do anything
        if (this.blendType == blendType && this.alpha == alpha && this.hue == hue) {
            return;
        }
        this.blendType = blendType;
        this.alpha = alpha;
        this.hue = hue;

        if (this.material != null) {
            Object.Destroy(this.material);
        }

        if (!hue.IsZero() || alpha != 1.0f || this.material != null) {
            this.renderer.material =  Roga2dResourceManager.getSharedMaterial(this.textureID, blendType);
            if (blendType == Roga2dBlendType.Alpha) {
                this.renderer.material.SetColor("_EmisColor", new Color(hue.r / 255.0f + 0.5f, hue.g / 255.0f + 0.5f, hue.b / 255.0f + 0.5f, alpha));
            } else {
                this.renderer.material.SetColor("_Color", new Color(1.0f, 1.0f, 1.0f, alpha));
            }
            this.material = this.renderer.material;
        } else {
            this.renderer.sharedMaterial =  Roga2dResourceManager.getSharedMaterial(this.textureID, blendType);
        }
    }
Exemplo n.º 2
0
    private void Initialize(string name)
    {
        this.children = new List<Roga2dNode>();

        if (this.GameObject == null) {
            this.GameObject = new GameObject(name);
            this.transform = this.GameObject.transform;
        } else {
            this.LocalPosition = this.transform.position;
        }

        this.LocalHue.SetRGB(0, 0, 0);
        this.LocalAlpha = 1.0f;
        this.LocalPriority = 0.0f;
        this.alpha = 1.0f;
        this.hue = new Roga2dHue(0, 0, 0);
        this.priority = -999.0f;
    }
    public void Pop()
    {
        if (this.gameObject == null) {
            this.gameObject = new GameObject("RenderObject");
            this.transform = this.gameObject.transform;

            if (this.texture != null) {
                MeshFilter meshFilter = this.gameObject.AddComponent("MeshFilter") as MeshFilter;
                this.renderer = this.gameObject.AddComponent("MeshRenderer") as MeshRenderer;

                this.alpha = 0.0f;
                this.mesh = GeneratePlane();
                meshFilter.mesh = this.mesh;
                this.SetSize(this.pixelSize);
                this.SetSrcRect(this.srcRect);
                Roga2dHue hue = new Roga2dHue(0, 0, 0);
                this.SetBlend(Roga2dBlendType.Alpha, 1.0f, hue);
            }
        }
    }
Exemplo n.º 4
0
 public virtual void UpdateHue()
 {
     if (this.Parent == null) {
         this.hue = this.LocalHue;
     } else {
         this.hue = this.LocalHue + this.Parent.Hue;
     }
 }