public override void Read(SocketEndpoint sendingEndpoint, BinaryReader message) { TextBroadcaster.ChangeType changeType = (TextBroadcaster.ChangeType)message.ReadByte(); if (TextBroadcaster.HasFlag(changeType, TextBroadcaster.ChangeType.Text)) { attachedComponent.text = message.ReadString(); } if (TextBroadcaster.HasFlag(changeType, TextBroadcaster.ChangeType.FontAndPlacement)) { attachedComponent.alignment = (TextAnchor)message.ReadByte(); attachedComponent.color = message.ReadColor(); attachedComponent.fontSize = message.ReadInt32(); attachedComponent.fontStyle = (FontStyle)message.ReadByte(); attachedComponent.lineSpacing = message.ReadSingle(); attachedComponent.horizontalOverflow = (HorizontalWrapMode)message.ReadByte(); attachedComponent.verticalOverflow = (VerticalWrapMode)message.ReadByte(); attachedComponent.font = TextService.Instance.GetFont(message.ReadGuid()); } if (TextBroadcaster.HasFlag(changeType, TextBroadcaster.ChangeType.Materials)) { var materials = MaterialPropertyAsset.ReadMaterials(message, null); if (materials != null && materials.Length > 0) { attachedComponent.material = materials[0]; } } if (TextBroadcaster.HasFlag(changeType, TextBroadcaster.ChangeType.MaterialProperty)) { int materialIndex = message.ReadInt32(); MaterialPropertyAsset.Read(message, new Material[] { attachedComponent.material }, materialIndex); } }
public override void Read(SocketEndpoint sendingEndpoint, BinaryReader message) { ImageBroadcaster.ChangeType changeType = (ImageBroadcaster.ChangeType)message.ReadByte(); if (ImageBroadcaster.HasFlag(changeType, ImageBroadcaster.ChangeType.Data)) { attachedComponent.overrideSprite = ImageService.Instance.GetSprite(message.ReadGuid()); attachedComponent.sprite = ImageService.Instance.GetSprite(message.ReadGuid()); attachedComponent.fillAmount = message.ReadSingle(); attachedComponent.color = message.ReadColor(); attachedComponent.alphaHitTestMinimumThreshold = message.ReadSingle(); attachedComponent.fillOrigin = message.ReadInt32(); attachedComponent.fillClockwise = message.ReadBoolean(); attachedComponent.fillMethod = (Image.FillMethod)message.ReadByte(); attachedComponent.fillCenter = message.ReadBoolean(); attachedComponent.preserveAspect = message.ReadBoolean(); attachedComponent.type = (Image.Type)message.ReadByte(); attachedComponent.enabled = message.ReadBoolean(); } if (ImageBroadcaster.HasFlag(changeType, ImageBroadcaster.ChangeType.Materials)) { var materials = MaterialPropertyAsset.ReadMaterials(message, null); if (materials != null && materials.Length > 0) { attachedComponent.material = materials[0]; } } if (ImageBroadcaster.HasFlag(changeType, ImageBroadcaster.ChangeType.MaterialProperty)) { int materialIndex = message.ReadInt32(); MaterialPropertyAsset.Read(message, new Material[] { attachedComponent.material }, materialIndex); } }
public static Material[] ReadMaterials(BinaryReader message, Material[] existingMaterials) { int materialCount = message.ReadInt32(); Material[] materials = new Material[materialCount]; for (int i = 0; i < materialCount; i++) { string shaderName = message.ReadString(); if (shaderName != string.Empty) { Material material; if (existingMaterials != null && i < existingMaterials.Length) { material = existingMaterials[i]; material.name = message.ReadString(); if (material.shader.name != shaderName) { Shader shader = Shader.Find(shaderName); if (shader == null) { Debug.Log("Couldn't find shader with name " + shaderName); shader = Shader.Find("Standard"); } material.shader = shader; } } else { Shader shader = Shader.Find(shaderName); if (shader == null) { Debug.Log("Couldn't find shader with name " + shaderName); shader = Shader.Find("Standard"); } material = new Material(shader); material.name = message.ReadString(); } materials[i] = material; int materialPropertyCount = message.ReadInt32(); for (int j = 0; j < materialPropertyCount; j++) { MaterialPropertyAsset.Read(message, materials, i); } } } return(materials); }
protected virtual void Read(SocketEndpoint sendingEndpoint, BinaryReader message, byte changeType) { if (RendererBroadcaster <TRenderer, TComponentService> .HasFlag(changeType, RendererBroadcaster <TRenderer, TComponentService> .ChangeType.Enabled) && Renderer) { Renderer.enabled = message.ReadBoolean(); } if (RendererBroadcaster <TRenderer, TComponentService> .HasFlag(changeType, RendererBroadcaster <TRenderer, TComponentService> .ChangeType.Materials) && Renderer) { Renderer.materials = MaterialPropertyAsset.ReadMaterials(message, Renderer.materials); } if (RendererBroadcaster <TRenderer, TComponentService> .HasFlag(changeType, RendererBroadcaster <TRenderer, TComponentService> .ChangeType.MaterialProperty) && Renderer) { int materialIndex = message.ReadInt32(); MaterialPropertyAsset.Read(message, Renderer.materials, materialIndex); } }