Пример #1
0
 protected override void InitializeSecondaryMeshes(GameObject itemGo) {
     base.InitializeSecondaryMeshes(itemGo);
     _secondaryMeshRenderers = itemGo.GetComponentsInImmediateChildren<MeshRenderer>().Except(_primaryMeshRenderer);
     if (_secondaryMeshRenderers.Any()) {  // some planets may not have atmosphere or rings
         _secondaryMeshRenderers.ForAll(smr => {
             __ValidateAndCorrectMeshLayer(smr.gameObject);
             smr.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On;
             smr.receiveShadows = true;
             smr.enabled = false;
             // Note: using custom SpaceUnity Shaders for now
         });
     }
 }
Пример #2
0
        protected override MeshRenderer InitializePrimaryMesh(GameObject itemGo) {
            var meshRenderers = itemGo.GetComponentsInImmediateChildren<MeshRenderer>();
            var primaryMeshRenderer = meshRenderers.Single(mr => {

                Profiler.BeginSample("Editor-only GC allocation (GetComponent returns null)", (_trackedItem as Component).gameObject);
                var ir = mr.GetComponent<IRevolver>();
                Profiler.EndSample();

                if (ir != null) {
                    return true;
                }
                return false;
            });
            primaryMeshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On;
            primaryMeshRenderer.receiveShadows = true;
            __ValidateAndCorrectMeshLayer(primaryMeshRenderer.gameObject);
            // Note: using custom SpaceUnity Shaders for now
            return primaryMeshRenderer;
        }