예제 #1
0
        public Asset loadAsset(AssetDetails argDetails, String argText, Point[] argPoints)
        {
            Asset a = null;

            // if an asset with this name already exists
            if (assets.ContainsKey(makeTextKey(argDetails, argText)))
            {
                assets.TryGetValue(makeTextKey(argDetails, argText), out a); // obtain it
            }
            else
            {   // if not, make it and add it
                switch (argDetails.type)
                {
                case AssetType.IMAGE:
                    a = makeImageAsset(argText);
                    break;

                case AssetType.SHAPE:
                    a = makeShapeAsset(argText, argPoints);
                    break;

                case AssetType.TEXT:
                    a = makeTextAsset(argText, argDetails);
                    break;
                }

                addAsset(a);
            }
            // return asset
            return(a);
        }
예제 #2
0
        private String makeTextKey(AssetDetails argDetails, String argText)
        {
            if (argDetails is TextAssetDetails)
            {
                return(argText + ((TextAssetDetails)argDetails).fontSize + ((TextAssetDetails)argDetails).fontName + ((TextAssetDetails)argDetails).fontColor.ToString());
            }

            return(argText);
        }
예제 #3
0
        private Asset makeTextAsset(String text, AssetDetails details)
        {
            if (details is TextAssetDetails)
            {
                TextAssetDetails tad = (TextAssetDetails)details;
                return(new TextAsset(text, tad.fontName, tad.fontSize, tad.fontColor));
            }

            return(new TextAsset(text));
        }