Пример #1
0
        //public bool IsSupportLowerCase;


        //private EditorUI3DIconFont font;
        //public EditorUI3DIconFont Font => font;

        private void OnValidate()
        {
            if (PrefabPath.IndexOf("Assets") < 0)
            {
                return;
            }

            string[] paths = EntityAuthoringUtil.GetAssetPaths(PrefabPath, ".prefab");

            for (int i = 0; i < paths.Length; i++)
            {
                var path  = paths[i];
                var name  = Path.GetFileNameWithoutExtension(path);
                int index = name.IndexOf('.');
                name = name.Substring(0, index);
                int charCode = 0;
                try
                {
                    charCode = int.Parse(name);
                }
                catch (System.Exception)
                {
                    Debug.LogErrorFormat("Font3DAuthoring: {0}, {1}", path, name);
                    continue;
                }

                if (charCode < Font3DData.MinCharCode || charCode > Font3DData.MaxCharCode)
                {
                    continue;
                }

                var prefab    = AssetDatabase.LoadAssetAtPath <GameObject>(path);
                int charIndex = charCode - Font3DData.MinCharCode;
                //Prefabs[charIndex] = prefab;
                if (prefab != null)
                {
                    var mesh   = prefab.GetComponent <MeshFilter>().sharedMesh;
                    var bounds = mesh.bounds;

                    var min = bounds.min;
                    var max = bounds.max;

                    FontChar3Ds[charIndex] = new FontChar3D
                    {
                        Prefab = prefab,
                        Min    = bounds.min,
                        Max    = bounds.max,
                        Size   = bounds.size,
                    };
                }

                //Debug.LogErrorFormat("Font3DAuthoring: {0}, {1}, {2}", path, charCode, prefab);
            }
        }
        public override SkillData ConvertGameData(GameObject gameObject, Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem, SkillDataSO dataSO)
        {
            var data = new SkillData();

            data.Id   = dataSO.Id;
            data.Name = dataSO.Name;

            data.ManaCost           = dataSO.ManaCost;
            data.TargetType         = dataSO.TargetType;
            data.IsSpecificRelation = dataSO.IsSpecificRelation;
            data.TargetRelationType = dataSO.TargetRelationType;
            data.IsWithoutSelf      = dataSO.IsWithoutSelf;
            data.TargetNum          = dataSO.TargetNum;

            //data.Prefab = conversionSystem.GetPrimaryEntity(dataSO.Prefab);

            data.DataIdsAssetRef = EntityAuthoringUtil.CreateArrayAssetRef(dataSO.EffectDatas);

            return(data);
        }