public void applyPlaceObject(PlaceObject obj){ _instanceName = obj.instanceName; if (obj.hasMatrix) { view.position = new Vector2(obj.position.x, -obj.position.y); view.rotation = obj.rotation; view.scaleX = obj.scaleX; view.scaleY = obj.scaleY; } else if (obj.hasCharacter) { view.position = Vector2.zero; view.rotation = 0; view.scaleX = 1; view.scaleY = 1; } view.zOrder = obj.depth; if (obj.hasColorTransform) { if (obj.colorTransform.add == new Color32 (0, 0, 0, 0)) { Color viewColor = view.color; viewColor.a = obj.colorTransform.multiply.a; if (viewColor != obj.colorTransform.multiply){ view.color = obj.colorTransform.multiply; } byte alpha = (byte)(Mathf.RoundToInt(viewColor.a * 255)); if (view.opacity != alpha){ view.opacity = alpha; } }else{ Color viewColor = view.color; viewColor.a = obj.colorTransform.multiply.a; byte alpha = (byte)(Mathf.RoundToInt(viewColor.a * 255)); if (view.opacity != alpha){ view.opacity = alpha; } //TODO shader support for add color } } else if (obj.hasCharacter){ view.color = Color.white; view.opacity = 255; } }