public bool AttachMeshFilter(GameObject gameObject, AssetId assetId)
        {
            ComponentExtensions.EnsureComponent <MeshRenderer>(gameObject);

            Mesh mesh = meshAssets.GetAsset(assetId);

            if (mesh != null)
            {
                MeshFilter filter = ComponentExtensions.EnsureComponent <MeshFilter>(gameObject);
                filter.sharedMesh = mesh;
                return(true);
            }

            return(false);
        }
Example #2
0
        public override void Read(INetworkConnection connection, BinaryReader message)
        {
            AudioSourceBroadcaster.ChangeType changeType = (AudioSourceBroadcaster.ChangeType)message.ReadByte();

            if (AudioSourceBroadcaster.HasFlag(changeType, AudioSourceBroadcaster.ChangeType.Properties))
            {
                AssetId audioClipId       = message.ReadAssetId();
                AssetId audioMixerGroupId = message.ReadAssetId();

                attachedComponent.clip = AudioSourceService.Instance.GetAudioClip(audioClipId);
                attachedComponent.outputAudioMixerGroup = AudioSourceService.Instance.GetAudioMixerGroup(audioMixerGroupId);
                attachedComponent.bypassEffects         = message.ReadBoolean();
                attachedComponent.bypassListenerEffects = message.ReadBoolean();
                attachedComponent.bypassReverbZones     = message.ReadBoolean();
                attachedComponent.dopplerLevel          = message.ReadSingle();
                attachedComponent.enabled              = message.ReadBoolean();
                attachedComponent.ignoreListenerPause  = message.ReadBoolean();
                attachedComponent.ignoreListenerVolume = message.ReadBoolean();
                attachedComponent.loop                  = message.ReadBoolean();
                attachedComponent.maxDistance           = message.ReadSingle();
                attachedComponent.minDistance           = message.ReadSingle();
                attachedComponent.mute                  = message.ReadBoolean();
                attachedComponent.panStereo             = message.ReadSingle();
                attachedComponent.pitch                 = message.ReadSingle();
                attachedComponent.priority              = message.ReadInt32();
                attachedComponent.reverbZoneMix         = message.ReadSingle();
                attachedComponent.rolloffMode           = (AudioRolloffMode)message.ReadByte();
                attachedComponent.spatialBlend          = message.ReadSingle();
                attachedComponent.spatialize            = message.ReadBoolean();
                attachedComponent.spatializePostEffects = message.ReadBoolean();
                attachedComponent.spread                = message.ReadSingle();
                attachedComponent.velocityUpdateMode    = (AudioVelocityUpdateMode)message.ReadByte();
            }
            if (AudioSourceBroadcaster.HasFlag(changeType, AudioSourceBroadcaster.ChangeType.Volume))
            {
                attachedComponent.volume = message.ReadSingle();
            }

            if (AudioSourceBroadcaster.HasFlag(changeType, AudioSourceBroadcaster.ChangeType.PlayStarted))
            {
                attachedComponent.Play();
            }
            if (AudioSourceBroadcaster.HasFlag(changeType, AudioSourceBroadcaster.ChangeType.PlayStopped))
            {
                attachedComponent.Stop();
            }
        }
        protected override void Read(INetworkConnection connection, BinaryReader message, byte changeType)
        {
            base.Read(connection, message, changeType);

            if (SpriteRendererBroadcaster.HasFlag(changeType, SpriteRendererBroadcaster.SpriteRendererChangeType.Sprite))
            {
                AssetId spriteId = message.ReadAssetId();
                Renderer.sprite = ImageService.Instance.GetSprite(spriteId);
            }

            if (SpriteRendererBroadcaster.HasFlag(changeType, SpriteRendererBroadcaster.SpriteRendererChangeType.Properties))
            {
                Renderer.adaptiveModeThreshold = message.ReadSingle();
                Renderer.color           = message.ReadColor();
                Renderer.drawMode        = (SpriteDrawMode)message.ReadByte();
                Renderer.flipX           = message.ReadBoolean();
                Renderer.flipY           = message.ReadBoolean();
                Renderer.maskInteraction = (SpriteMaskInteraction)message.ReadByte();
                Renderer.size            = message.ReadVector2();
                Renderer.tileMode        = (SpriteTileMode)message.ReadByte();
            }
        }
        public override void Read(SocketEndpoint sendingEndpoint, BinaryReader message)
        {
#if STATESYNC_TEXTMESHPRO
            EnsureTextComponent();

            TextMeshProBroadcasterChangeType changeType = (TextMeshProBroadcasterChangeType)message.ReadByte();

            if (HasFlag(changeType, TextMeshProBroadcasterChangeType.Text))
            {
                TextMeshObserver.SetText(message.ReadString());
            }

            if (HasFlag(changeType, TextMeshProBroadcasterChangeType.FontAndPlacement))
            {
                AssetId fontId = message.ReadAssetId();
                TextMeshObserver.font = TextMeshProService.Instance.GetFont(fontId);

                bool[] values = Unpack(message.ReadByte());
                TextMeshObserver.autoSizeTextContainer = values[0];
                TextMeshObserver.enableAutoSizing      = values[1];
                TextMeshObserver.enableCulling         = values[2];
                TextMeshObserver.enabled               = values[3];
                TextMeshObserver.enableKerning         = values[4];
                TextMeshObserver.enableWordWrapping    = values[5];
                TextMeshObserver.extraPadding          = values[6];
                TextMeshObserver.ignoreRectMaskCulling = values[7];

                values = Unpack(message.ReadByte());
                TextMeshObserver.ignoreVisibility    = values[0];
                TextMeshObserver.isOrthographic      = values[1];
                TextMeshObserver.isOverlay           = values[2];
                TextMeshObserver.isRightToLeftText   = values[3];
                TextMeshObserver.isVolumetricText    = values[4];
                TextMeshObserver.maskable            = values[5];
                TextMeshObserver.overrideColorTags   = values[6];
                TextMeshObserver.parseCtrlCharacters = values[7];

                values = Unpack(message.ReadByte());
                TextMeshObserver.richText               = values[0];
                TextMeshObserver.tintAllSprites         = values[1];
                TextMeshObserver.useMaxVisibleDescender = values[2];

                TextMeshObserver.alignment                = (TextAlignmentOptions)message.ReadInt32();
                TextMeshObserver.alpha                    = message.ReadSingle();
                TextMeshObserver.color                    = message.ReadColor();
                TextMeshObserver.characterSpacing         = message.ReadSingle();
                TextMeshObserver.characterWidthAdjustment = message.ReadSingle();
                TextMeshObserver.faceColor                = message.ReadColor32();
                TextMeshObserver.firstVisibleCharacter    = message.ReadInt32();
                TextMeshObserver.fontSize                 = message.ReadSingle();
                TextMeshObserver.fontSizeMax              = message.ReadSingle();
                TextMeshObserver.fontSizeMin              = message.ReadSingle();
                TextMeshObserver.fontStyle                = (FontStyles)message.ReadInt32();
                TextMeshObserver.fontWeight               = (FontWeight)message.ReadInt32();
                TextMeshObserver.horizontalMapping        = (TextureMappingOptions)message.ReadByte();
                TextMeshObserver.lineSpacing              = message.ReadSingle();
                TextMeshObserver.lineSpacingAdjustment    = message.ReadSingle();
                TextMeshObserver.mappingUvLineOffset      = message.ReadSingle();
                TextMeshObserver.margin                   = message.ReadVector4();
                TextMeshObserver.maxVisibleCharacters     = message.ReadInt32();
                TextMeshObserver.maxVisibleLines          = message.ReadInt32();
                TextMeshObserver.maxVisibleWords          = message.ReadInt32();
                TextMeshObserver.outlineColor             = message.ReadColor32();
                TextMeshObserver.outlineWidth             = message.ReadSingle();
                TextMeshObserver.overflowMode             = (TextOverflowModes)message.ReadByte();
                TextMeshObserver.pageToDisplay            = message.ReadInt32();
                TextMeshObserver.paragraphSpacing         = message.ReadSingle();
                TextMeshObserver.renderMode               = (TextRenderFlags)message.ReadByte();
                TextMeshObserver.verticalMapping          = (TextureMappingOptions)message.ReadByte();
                TextMeshObserver.wordWrappingRatios       = message.ReadSingle();
                TextMeshObserver.wordSpacing              = message.ReadSingle();

                needsUpdate = true;
            }
#endif
        }
Example #5
0
 public TMP_FontAsset GetFont(AssetId assetId)
 {
     return((TMP_FontAsset)fontAssets?.GetAsset(assetId));
 }
Example #6
0
 internal static void Write(this BinaryWriter message, AssetId assetId)
 {
     message.Write(assetId.Guid);
     message.Write(assetId.FileIdentifier);
 }
 public Sprite GetSprite(AssetId assetId)
 {
     return(spriteAssets?.GetAsset(assetId));
 }
Example #8
0
 public AudioMixerGroup GetAudioMixerGroup(AssetId assetId)
 {
     return(audioMixerGroupAssets?.GetAsset(assetId));
 }
Example #9
0
 public AudioClip GetAudioClip(AssetId assetId)
 {
     return(audioClipAssets?.GetAsset(assetId));
 }
 public Font GetFont(AssetId assetId)
 {
     return(fontAssets?.GetAsset(assetId));
 }