예제 #1
0
        private void TryToAddEditorMapping(Type type)
        {
            if (m_editorsMap.HasMapping(type))
            {
                return;
            }

            m_editorsMap.AddMapping(type, typeof(ComponentEditor), true, false);
        }
        private void Register()
        {
            ILocalization lc = IOC.Resolve <ILocalization>();

            lc.LoadStringResources("RTTerrain.StringResources");

            IRTEAppearance appearance = IOC.Resolve <IRTEAppearance>();
            IWindowManager wm         = IOC.Resolve <IWindowManager>();

            if (m_terrainView != null)
            {
                RegisterWindow(wm, "TerrainEditor", lc.GetString("ID_RTTerrain_WM_Header_TerrainEditor", "Terrain Editor"),
                               Resources.Load <Sprite>("icons8-earth-element-24"), m_terrainView, false);

                if (appearance != null)
                {
                    appearance.RegisterPrefab(m_terrainView);
                }
            }

            if (m_terrainComponentEditor != null)
            {
                IEditorsMap editorsMap = IOC.Resolve <IEditorsMap>();
                if (!editorsMap.HasMapping(typeof(Terrain)))
                {
                    editorsMap.AddMapping(typeof(Terrain), m_terrainComponentEditor.gameObject, true, false);
                    if (appearance != null)
                    {
                        appearance.RegisterPrefab(m_terrainComponentEditor.gameObject);
                    }
                }
            }

            if (appearance != null)
            {
                foreach (GameObject prefab in m_prefabs)
                {
                    if (prefab != null)
                    {
                        appearance.RegisterPrefab(prefab);
                    }
                }
            }
        }