コード例 #1
0
 private void avatarView_OnReady(AvatarBaseAsync view)
 {
     if (loadingController.HasLoadingSystem(this))
     {
         loadingController.RemoveLoadingSystem(this);
     }
 }
コード例 #2
0
 private void avatarView_OnBusy(AvatarBaseAsync view)
 {
     if (isLocal && loadingController.IsVisible)
     {
         loadingController.AddLoadingSystem(this);
     }
 }
コード例 #3
0
        private void onViewReady(AvatarBaseAsync avatarView)
        {
            SkinnedMeshRenderer component = avatarView.GetComponent <SkinnedMeshRenderer>();

            if (component != null)
            {
                component.sharedMaterial.shader = combinedAvatarDepthShader;
            }
        }
コード例 #4
0
 private void avatarBaseAsync_OnReady(AvatarBaseAsync avatarBase)
 {
     if (HasEquipment)
     {
         smr = GetComponent <SkinnedMeshRenderer>();
         smr.updateWhenOffscreen = true;
         if (meshCollider == null)
         {
             meshCollider = base.gameObject.AddComponent <MeshCollider>();
         }
         meshCollider.sharedMesh = smr.sharedMesh;
         meshCollider.enabled    = true;
         if (this.EquipmentSet != null)
         {
             this.EquipmentSet(smr, avatarViewDistinctChild.ViewPart.GetDefaultDecalProps());
         }
     }
 }
コード例 #5
0
    private void onReady(AvatarBaseAsync aba)
    {
        bool flag = Avdc.ViewPart.HasMaterialProperties(typeof(EquipmentMaterialProperties));

        if (outlineMaterial != null)
        {
            Object.Destroy(outlineMaterial);
        }
        SkinnedMeshRenderer component = Avdc.GetComponent <SkinnedMeshRenderer>();

        smr            = (smr ?? base.gameObject.AddComponent <SkinnedMeshRenderer>());
        smr.bones      = component.bones;
        smr.rootBone   = component.rootBone;
        smr.sharedMesh = component.sharedMesh;
        if (flag)
        {
            Texture2D whiteTexture = Texture2D.whiteTexture;
            outlineMaterial        = new Material(component.sharedMaterial);
            outlineMaterial.shader = AvatarService.EquipmentScreenshotShader;
            outlineMaterial.SetTexture(ShaderParams.DIFFUSE_TEX, whiteTexture);
            for (int i = 0; i < 3; i++)
            {
                outlineMaterial.SetTexture(ShaderParams.DECAL_TEX[i], whiteTexture);
            }
            for (int i = 3; i < 6; i++)
            {
                outlineMaterial.SetTexture(ShaderParams.DECAL_TEX[i], null);
            }
            outlineMaterial.SetTexture(ShaderParams.DETAIL_MATCAPMASK_EMISSIVE_TEX, whiteTexture);
            outlineMaterial.SetColor(ShaderParams.BODY_RED_CHANNEL_COLOR, Color.black);
            outlineMaterial.SetColor(ShaderParams.BODY_GREEN_CHANNEL_COLOR, Color.black);
            outlineMaterial.SetColor(ShaderParams.BODY_BLUE_CHANNEL_COLOR, Color.black);
            smr.material = outlineMaterial;
            updateMaterial();
        }
        else
        {
            smr.material = Outliner.BlackMaterial;
        }
    }
コード例 #6
0
    private void onAvatarIsReady(AvatarBaseAsync avatarView)
    {
        avatarView.OnReady -= onAvatarIsReady;
        GameObject       gameObject = avatarView.gameObject;
        AvatarDataHandle component  = gameObject.GetComponent <AvatarDataHandle>();

        if (!(component != null) || component.Handle.IsNull || !dataEntityCollection.TryGetComponent(component.Handle, out RemotePlayerData _))
        {
            return;
        }
        DataEntityHandle handle = null;

        if (AvatarDataHandle.TryGetPlayerHandle(gameObject, out handle))
        {
            avatarViewReady.Add(handle);
            PositionData component3 = dataEntityCollection.GetComponent <PositionData>(handle);
            if (component3.Position != Vector3.zero)
            {
                placeRemotePlayer(gameObject, handle, component3.Position);
            }
        }
        Service.Get <EventDispatcher>().DispatchEvent(new PlayerSpawnedEvents.RemotePlayerSpawned(gameObject, component.Handle));
    }
コード例 #7
0
    private void onViewReady(AvatarBaseAsync view)
    {
        if (locomotionData == null)
        {
            return;
        }
        LocomotionTracker component = GetComponent <LocomotionTracker>();

        switch (locomotionData.LocoState)
        {
        case LocomotionState.Slide:
            if (component.IsCurrentControllerOfType <SlideController>())
            {
                GetComponent <Animator>().SetBool(AnimationHashes.Params.Slide, value: true);
                GetComponent <Animator>().Play(AnimationHashes.States.Slide.Enter, 0);
            }
            else
            {
                component.SetCurrentController <SlideController>();
            }
            break;

        case LocomotionState.Sitting:
        {
            if (!component.IsCurrentControllerOfType <SitController>())
            {
                component.SetCurrentController <SitController>();
            }
            SitController sitController = component.GetCurrentController() as SitController;
            if (sitController != null)
            {
                sitController.RemoteSit(null);
            }
            break;
        }
        }
    }
コード例 #8
0
 private void startCombining(AvatarBaseAsync obj)
 {
     blobShadowCaster.SetIsActive(isActive: false);
 }
コード例 #9
0
 private void lodMeshesReady(AvatarBaseAsync obj)
 {
     blobShadowCaster.SetIsActiveIfVisible();
 }
コード例 #10
0
 private void onViewReady(AvatarBaseAsync obj)
 {
     eventDispatcher.DispatchEvent(default(InventoryUIEvents.AllEquipmentLoaded));
 }
コード例 #11
0
 private void onViewBusy(AvatarBaseAsync obj)
 {
     eventDispatcher.DispatchEvent(default(InventoryUIEvents.StartedLoadingEquipment));
 }
コード例 #12
0
 private void onAvatarIsReady(AvatarBaseAsync view)
 {
     avatarView.OnReady -= onAvatarIsReady;
     Service.Get <EventDispatcher>().DispatchEvent(new PlayerSpawnedEvents.LocalPlayerSpawned(view.gameObject, dataEntityCollection.LocalPlayerHandle));
 }
コード例 #13
0
 private void onAvatarViewReady(AvatarBaseAsync avatarView)
 {
     onAvatarReady();
 }