public void RenderMote()
        {
            float num = (Time.time - this.lastOrderedToTileTime) / 0.5f;

            if (num > 1f)
            {
                return;
            }
            if (Caravan_GotoMoteRenderer.cachedMaterial == null)
            {
                Caravan_GotoMoteRenderer.cachedMaterial = MaterialPool.MatFrom((Texture2D)Caravan_GotoMoteRenderer.FeedbackGoto.mainTexture, Caravan_GotoMoteRenderer.FeedbackGoto.shader, Color.white, WorldMaterials.DynamicObjectRenderQueue);
            }
            WorldGrid worldGrid  = Find.WorldGrid;
            Vector3   tileCenter = worldGrid.GetTileCenter(this.tile);
            Color     value      = new Color(1f, 1f, 1f, 1f - num);

            Caravan_GotoMoteRenderer.propertyBlock.SetColor(ShaderPropertyIDs.Color, value);
            Vector3  pos       = tileCenter;
            float    size      = 0.8f * worldGrid.averageTileSize;
            float    altOffset = 0.018f;
            Material material  = Caravan_GotoMoteRenderer.cachedMaterial;
            MaterialPropertyBlock materialPropertyBlock = Caravan_GotoMoteRenderer.propertyBlock;

            WorldRendererUtility.DrawQuadTangentialToPlanet(pos, size, altOffset, material, false, false, materialPropertyBlock);
        }
        public virtual void Draw()
        {
            float averageTileSize = Find.WorldGrid.averageTileSize;
            float transitionPct   = ExpandableWorldObjectsUtility.TransitionPct;

            if (def.expandingIcon && transitionPct > 0f)
            {
                Color color = Material.color;
                float num   = 1f - transitionPct;
                propertyBlock.SetColor(ShaderPropertyIDs.Color, new Color(color.r, color.g, color.b, color.a * num));
                WorldRendererUtility.DrawQuadTangentialToPlanet(DrawPos, 0.7f * averageTileSize, 0.015f, Material, counterClockwise: false, useSkyboxLayer: false, propertyBlock);
            }
            else
            {
                WorldRendererUtility.DrawQuadTangentialToPlanet(DrawPos, 0.7f * averageTileSize, 0.015f, Material);
            }
        }
Esempio n. 3
0
        public void RenderMote()
        {
            float num = (Time.time - lastOrderedToTileTime) / 0.5f;

            if (!(num > 1f))
            {
                if (cachedMaterial == null)
                {
                    cachedMaterial = MaterialPool.MatFrom((Texture2D)FeedbackGoto.mainTexture, FeedbackGoto.shader, Color.white, WorldMaterials.DynamicObjectRenderQueue);
                }
                WorldGrid worldGrid  = Find.WorldGrid;
                Vector3   tileCenter = worldGrid.GetTileCenter(tile);
                Color     value      = new Color(1f, 1f, 1f, 1f - num);
                propertyBlock.SetColor(ShaderPropertyIDs.Color, value);
                WorldRendererUtility.DrawQuadTangentialToPlanet(tileCenter, 0.8f * worldGrid.averageTileSize, 0.018f, cachedMaterial, counterClockwise: false, useSkyboxLayer: false, propertyBlock);
            }
        }
        public virtual void Draw()
        {
            float averageTileSize = Find.WorldGrid.averageTileSize;
            float transitionPct   = ExpandableWorldObjectsUtility.TransitionPct;

            if (this.def.expandingIcon && transitionPct > 0.0)
            {
                Color color = this.Material.color;
                float num   = (float)(1.0 - transitionPct);
                WorldObject.propertyBlock.SetColor(ShaderPropertyIDs.Color, new Color(color.r, color.g, color.b, color.a * num));
                Vector3  drawPos   = this.DrawPos;
                float    size      = (float)(0.699999988079071 * averageTileSize);
                float    altOffset = 0.015f;
                Material material  = this.Material;
                MaterialPropertyBlock materialPropertyBlock = WorldObject.propertyBlock;
                WorldRendererUtility.DrawQuadTangentialToPlanet(drawPos, size, altOffset, material, false, false, materialPropertyBlock);
            }
            else
            {
                WorldRendererUtility.DrawQuadTangentialToPlanet(this.DrawPos, (float)(0.699999988079071 * averageTileSize), 0.015f, this.Material, false, false, null);
            }
        }