Ejemplo n.º 1
0
    public override void OnInspectorGUI()
    {
        myHolder = (KAU.PlayerSystem.IDataHolder)target;

        if (GUILayout.Button(" Test "))
        {
            myHolder.Test();
            return;
        }
        if (GUILayout.Button(" Serialize From Aset "))
        {
            myHolder.SerializeDataFromAsset();
            return;
        }
        DrawPropertiesExcluding(serializedObject, new string[] { "m_Script" });

        serializedObject.ApplyModifiedProperties();
    }
Ejemplo n.º 2
0
        // Done VIa Reflexion
        private static void MapToProgressMnager(System.Type[] AllTypes, IDataHolder myHolder, System.Type progressManagerType, Dictionary <System.Type, System.Type> MapTypesTOTYpes)
        {
            var typesOfIProgressManagerIntrfaces = (from typeToCheck in AllTypes
                                                    where progressManagerType.IsAssignableFrom(typeToCheck)
                                                    select typeToCheck
                                                    ).ToList();
            // foreach (var item in typesOfIProgressManagerIntrfaces)
            // {
            //     Debug.LogWarning(" InAssignebla From : " + progressManagerType.ToString() + " to " + item.ToString());

            // }

            var ListbaseType = (from typeToCheck in typesOfIProgressManagerIntrfaces
                                where !typeToCheck.IsInterface && !typeToCheck.IsAbstract
                                select typeToCheck
                                ).ToList();

            // For Which Type!

            System.Type baseTypeElem = null;
            foreach (var item in ListbaseType)
            {
                if (myHolder.AllFields.ContainsKey(item))
                {
                    baseTypeElem = myHolder.AllFields[item].GetType();
                    break;
                }
            }
            foreach (var item in typesOfIProgressManagerIntrfaces)
            {
                if (item != baseTypeElem)
                {
                    if (!MapTypesTOTYpes.ContainsKey(item))
                    {
                        // Debug.LogWarning(" Added : " + item.ToString() + " for : " + baseTypeElem.ToString());
                        MapTypesTOTYpes.Add(item, baseTypeElem);
                    }
                    else
                    {
                        Debug.Log(" Alredy exists : " + item.ToString() + " For base type : " + baseTypeElem.ToString());
                    }
                }
            }
        }