コード例 #1
0
        public static Color GetMaterialColorForType(this SimHashes material, string objectTypeName)
        {
            //if (!ColorHelper.TryGetTypeStandardColor(objectTypeName, out Color32 typeStandardColor))
            Color32 typeStandardColor;

            if (!ColorHelper.TryGetTypeStandardColor(objectTypeName, out typeStandardColor))
            {
                if (State.ConfiguratorState.ShowMissingTypeColorOffsets)
                {
                    Debug.LogError($"Can't find <{objectTypeName}> type color");
                    return(typeStandardColor);
                }
            }

            Color32 colorOffsetForWhite = typeStandardColor.TintToWhite();

            if (State.ConfiguratorState.ShowBuildingsAsWhite)
            {
                return(colorOffsetForWhite);
            }

            ElementColorInfo elementColorInfo = material.GetMaterialColorInfo();

            // UnityEngine.Debug.Log("About to multiply - "+ objectTypeName+"-"  + material + "-" + elementColorInfo.ColorMultiplier.Red + "-"+ elementColorInfo.Brightness);
            Color32 multiply      = colorOffsetForWhite.Multiply(elementColorInfo.ColorMultiplier);
            Color32 materialColor = multiply.SetBrightness(elementColorInfo.Brightness);

            return(materialColor);
        }
コード例 #2
0
        public static Color ToCellMaterialColor(this SimHashes material)
        {
            ElementColorInfo colorInfo = material.GetMaterialColorInfo();

            Color result = new Color(
                colorInfo.ColorMultiplier.Red,
                colorInfo.ColorMultiplier.Green,
                colorInfo.ColorMultiplier.Blue) * colorInfo.Brightness;

            result.a = byte.MaxValue;

            return(result);
        }