Exemplo n.º 1
0
        /// <summary>
        /// 리소스에 저장된 환경설정 파일을 로드하여 초기화합니다.
        /// 참고 : http://www.primordialcode.com/blog/post/castle-windsor-enabling-xml-configuration-files-silverlight
        /// </summary>
        /// <param name="assembly">리소스를 소유한 Assembly</param>
        /// <param name="resourceFilename">리소스 파일 명</param>
        public static void InitializeFromResource(Assembly assembly, string resourceFilename)
        {
            // 실버라이트에서는 XLinq 만을 지원하여, XmlInterpreter 방식이 지원되지 않는데,
            // 위의 사이트에서 XLinq 방식으로 변환한 것을 NSoft.NFramework for Silverlight 에 적용시켰습니다.

            if (IsDebugEnabled)
            {
                log.Debug("어셈블리의 리소스파일로부터 IoC 환경설정 정보를 얻어 환경설정을 수행합니다. assembly=[{0}], resourceFilename=[{1}]",
                          assembly, resourceFilename);
            }
            try {
                using (var stream = ResourceTool.GetEmbeddedResourceFile(assembly ?? Assembly.GetExecutingAssembly(), resourceFilename)) {
                    var xmlText = stream.ToText();

                    var container = new WindsorContainer(new XmlInterpreter(new StaticContentResource(xmlText)));
                    Initialize(container);
                }
            }
            catch (Exception ex) {
                if (log.IsErrorEnabled)
                {
                    log.ErrorException("리소스 파일로부터 IoC 설정하는데 실패했습니다. resourceFilename=" + resourceFilename, ex);
                }
                throw;
            }
        }
        protected override void OnButtonClicked(UIComponent comp)
        {
            int          zOrder       = comp.zOrder;
            TerrainTool  terrainTool  = null;
            ResourceTool resourceTool = null;

            if (zOrder < kTools.Length + 1)
            {
                terrainTool = ToolsModifierControl.SetTool <TerrainTool>();
                if (terrainTool == null)
                {
                    return;
                }
                ShowUndoTerrainOptionsPanel(true);
                UIView.library.Show("LandscapingInfoPanel");
            }
            else
            {
                resourceTool = ToolsModifierControl.SetTool <ResourceTool>();
                if (resourceTool == null)
                {
                    return;
                }
                UIView.library.Hide("LandscapingInfoPanel");
                ShowUndoTerrainOptionsPanel(false);
            }
            ShowBrushOptionsPanel(true);

            if (zOrder == 1 || zOrder == 3)
            {
                ShowLevelHeightPanel(true);
            }
            else
            {
                ShowLevelHeightPanel(false);
            }
            //begin mod
            if (zOrder < kTools.Length)
            {
                terrainTool.m_mode        = LandscapingPanelDetour.kTools[zOrder].enumValue;
                TerrainToolDetour.isDitch = false;
            }
            else
            {
                if (zOrder < kTools.Length + 1)
                {
                    terrainTool.m_mode        = TerrainTool.Mode.Shift;
                    TerrainToolDetour.isDitch = true;
                }
                else
                {
                    resourceTool.m_resource = NaturalResourceManager.Resource.Sand;
                }
            }
            //end mod
        }
Exemplo n.º 3
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 public EliteAPIControl(PolTool iPOL, ResourceTool iResource, ChatTool iChat)
 {
     this.pol          = iPOL;
     this.api          = iPOL.EliteAPI;
     this.chat         = iChat;
     this.resource     = iResource;
     this.MaxLoopCount = DEFAULT_MAX_LOOP_COUNT;
     this.UseEnternity = DEFAULT_USE_ENTERNITY;
     this.BaseWait     = DEFAULT_BASE_WAIT;
     this.ChatWait     = DEFAULT_CHAT_WAIT;
 }
        public new void OnClick(UIComponent comp, UIMouseEventParameter p)
        {
            UIButton uiButton = p.source as UIButton;
            int      byIndex  = this.GetByIndex((UIComponent)uiButton);

            if (byIndex == -1)
            {
                return;
            }
            this.SelectByIndex(byIndex);
            Texture2D texture2D        = uiButton.objectUserData as Texture2D;
            var       brushesContainer =
                (UIScrollablePanel)typeof(BrushOptionPanel).GetField("m_BrushesContainer", BindingFlags.NonPublic | BindingFlags.Instance)
                .GetValue(this);

            if (!((UnityEngine.Object)uiButton.parent == (UnityEngine.Object)brushesContainer) || !((UnityEngine.Object)texture2D != (UnityEngine.Object)null))
            {
                return;
            }
            TerrainTool tool1 = ToolsModifierControl.GetTool <TerrainTool>();

            if ((UnityEngine.Object)tool1 != (UnityEngine.Object)null)
            {
                tool1.m_brush = texture2D;
            }
            TreeTool tool2 = ToolsModifierControl.GetTool <TreeTool>();

            if ((UnityEngine.Object)tool2 != (UnityEngine.Object)null)
            {
                tool2.m_brush = texture2D;
            }
            ResourceTool tool3 = ToolsModifierControl.GetTool <ResourceTool>();

            if ((UnityEngine.Object)tool3 != (UnityEngine.Object)null)
            {
                tool3.m_brush = texture2D;
            }
            PropTool tool4 = ToolsModifierControl.GetTool <PropTool>();

            if ((UnityEngine.Object)tool4 == (UnityEngine.Object)null)
            {
                tool4.m_brush = texture2D;
            }
            //begin mod
            try
            {
                Plugins.SetBrush(texture2D);
            }
            catch (Exception e)
            {
                UnityEngine.Debug.LogException(e);
            }
            //end mod
        }
        private void QueueExctractionWorkerThread(object state)
        {
            object[]       args           = state as object[];
            string         installPath    = (string)args[0];
            string         sourceCulture  = (string)args[1];
            string         targetCulture  = (string)args[2] ?? ResourceTool.DEFAULT_CULTURE;
            ExtractionMode mode           = (ExtractionMode)args[3];
            string         exportFilePath = (string)args[4];
            string         languageDbPath = (string)args[5];

            try
            {
                this.DisableForm();

                ITranslator translator;
                switch (mode)
                {
                case ExtractionMode.DatabaseTranslation:
                    translator = new LegacyLanguageDbTranslator();
                    ((LegacyLanguageDbTranslator)translator).ReadDatabase(languageDbPath);
                    break;

                case ExtractionMode.Double:
                    translator = new ExpandedStringTranslator();
                    break;

                case ExtractionMode.Reverse:
                    translator = new ReverseStringTranslator();
                    break;

                case ExtractionMode.WebTranslation:
                    translator = new WebServiceTranslator();
                    break;

                default:
                    translator = new NormalizedStringTranslator();
                    break;
                }
                ResourceTool.ExportLanguage(installPath, sourceCulture, targetCulture, translator, exportFilePath, new AppendLogCallback(this.AppendToLog));
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Export Failed", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            finally
            {
                this.EnableForm();
            }
        }
        private void SetBrushSize(float val)
        {
            var brushSizeSlider =
                (UISlider)typeof(BrushOptionPanel).GetField("m_BrushSizeSlider", BindingFlags.NonPublic | BindingFlags.Instance)
                .GetValue(this);

            PropTool currentTool1 = ToolsModifierControl.GetCurrentTool <PropTool>();

            if ((UnityEngine.Object)currentTool1 != (UnityEngine.Object)null)
            {
                currentTool1.m_brushSize = val;
                currentTool1.m_mode      = (double)currentTool1.m_brushSize != (double)brushSizeSlider.minValue ? PropTool.Mode.Brush : PropTool.Mode.Single;
            }
            TerrainTool currentTool2 = ToolsModifierControl.GetCurrentTool <TerrainTool>();

            //begin mod
            if ((UnityEngine.Object)currentTool2 != (UnityEngine.Object)null)
            {
                currentTool2.m_brushSize     = val;
                TerrainToolDetour.m_sizeMode = (double)currentTool2.m_brushSize != (double)brushSizeSlider.minValue ? TerrainToolDetour.SizeMode.Brush : TerrainToolDetour.SizeMode.Single;
            }
            //end mod
            TreeTool currentTool3 = ToolsModifierControl.GetCurrentTool <TreeTool>();

            if ((UnityEngine.Object)currentTool3 != (UnityEngine.Object)null)
            {
                currentTool3.m_brushSize = val;
                currentTool3.m_mode      = (double)currentTool3.m_brushSize != (double)brushSizeSlider.minValue ? TreeTool.Mode.Brush : TreeTool.Mode.Single;
            }
            ResourceTool currentTool4 = ToolsModifierControl.GetCurrentTool <ResourceTool>();

            if ((UnityEngine.Object)currentTool4 != (UnityEngine.Object)null)
            {
                currentTool4.m_brushSize = val;
            }
            //begin mod
            try
            {
                Plugins.SetSize(val, val == (double)brushSizeSlider.minValue);
            }
            catch (Exception e)
            {
                UnityEngine.Debug.LogException(e);
            }
            //end mod
        }
Exemplo n.º 7
0
        private void QueueExctractionWorkerThread(object state)
        {
            object[]       args           = state as object[];
            string         installPath    = (string)args[0];
            string         sourceCulture  = (string)args[1];
            string         targetCulture  = (string)args[2] ?? ResourceTool.DEFAULT_CULTURE;
            ExtractionMode mode           = (ExtractionMode)args[3];
            string         exportFilePath = (string)args[4];
            string         languageDbPath = (string)args[5];

            try
            {
                ITranslator translator;
                switch (mode)
                {
                case ExtractionMode.DatabaseTranslation:
                    translator = new LegacyLanguageDbTranslator();
                    ((LegacyLanguageDbTranslator)translator).ReadDatabase(languageDbPath);
                    break;

                case ExtractionMode.Double:
                    translator = new ExpandedStringTranslator();
                    break;

                case ExtractionMode.Reverse:
                    translator = new ReverseStringTranslator();
                    break;

                case ExtractionMode.WebTranslation:
                    translator = new WebServiceTranslator();
                    break;

                default:
                    translator = new NormalizedStringTranslator();
                    break;
                }
                ResourceTool.ExportLanguage(installPath, sourceCulture, targetCulture, translator, exportFilePath, new AppendLogCallback(this.AppendToLog));
                AppendToLog(string.Empty);
                MsgBox.ShowInformation(SharedStrings.LANGUAGE_READY);
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex);
            }
        }
        private void SetBrushStrength(float val)
        {
            PropTool currentTool1 = ToolsModifierControl.GetCurrentTool <PropTool>();

            if ((UnityEngine.Object)currentTool1 != (UnityEngine.Object)null)
            {
                currentTool1.m_strength = val;
            }
            TerrainTool currentTool2 = ToolsModifierControl.GetCurrentTool <TerrainTool>();

            if ((UnityEngine.Object)currentTool2 != (UnityEngine.Object)null)
            {
                currentTool2.m_strength = val;
            }
            TreeTool currentTool3 = ToolsModifierControl.GetCurrentTool <TreeTool>();

            if ((UnityEngine.Object)currentTool3 != (UnityEngine.Object)null)
            {
                currentTool3.m_strength = val;
            }
            ResourceTool currentTool4 = ToolsModifierControl.GetCurrentTool <ResourceTool>();

            if ((UnityEngine.Object)currentTool4 != (UnityEngine.Object)null)
            {
                currentTool4.m_strength = val;
            }
            //begin mod
            try
            {
                Plugins.SetStrength(val);
            }
            catch (Exception e)
            {
                UnityEngine.Debug.LogException(e);
            }
            //end mod
        }
Exemplo n.º 9
0
        private void QueueInstallLanguageWorkerThread(object state)
        {
            object[]  args          = state as object[];
            string    installPath   = (string)args[0];
            string    targetCulture = (string)args[1];
            IDbDriver dataSource    = (IDbDriver)args[2];
            string    tableName     = (string)args[3];

            try
            {
                DisableForm();

                ResourceTool.ImportLanguage(installPath, targetCulture, dataSource, tableName, new AppendLogCallback(this.AppendToLog));
                CloseForm();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Import Failed", MessageBoxButtons.OK, MessageBoxIcon.Information);
                EnableForm();
            }
            finally
            {
            }
        }
Exemplo n.º 10
0
        protected override void OnButtonClicked(UIComponent comp)
        {
            if (ToolsModifierControl.toolController.m_mode == ItemClass.Availability.ThemeEditor)
            {
                int          zOrder       = comp.zOrder;
                TerrainTool  terrainTool  = null;
                ResourceTool resourceTool = null;
                var          panel        = (TerrainPanel)Convert.ChangeType(this, typeof(TerrainPanel));
                if (zOrder < kTools.Length + 1)
                {
                    terrainTool = ToolsModifierControl.SetTool <TerrainTool>();
                    if (terrainTool == null)
                    {
                        return;
                    }
                    ShowUndoTerrainOptionsPanel(panel, true);
                    UIView.library.Show("LandscapingInfoPanel");
                }
                else
                {
                    resourceTool = ToolsModifierControl.SetTool <ResourceTool>();
                    if (resourceTool == null)
                    {
                        return;
                    }
                    UIView.library.Hide("LandscapingInfoPanel");
                    ShowUndoTerrainOptionsPanel(panel, false);
                }
                ShowBrushOptionsPanel(panel, true);

                if (zOrder == 1 || zOrder == 3)
                {
                    ShowLevelHeightPanel(panel, true);
                }
                else
                {
                    ShowLevelHeightPanel(panel, false);
                }
                //begin mod
                if (zOrder < kTools.Length)
                {
                    terrainTool.m_mode        = kTools[zOrder].enumValue;
                    TerrainToolDetour.isDitch = false;
                }
                else
                {
                    if (zOrder < kTools.Length + 1)
                    {
                        terrainTool.m_mode        = TerrainTool.Mode.Shift;
                        TerrainToolDetour.isDitch = true;
                    }
                    else
                    {
                        resourceTool.m_resource = NaturalResourceManager.Resource.Sand;
                    }
                }
                //end mod
            }
            else
            {
                int         zOrder      = comp.zOrder;
                TerrainTool terrainTool = ToolsModifierControl.SetTool <TerrainTool>();
                if (terrainTool == null)
                {
                    return;
                }
                var panel = (TerrainPanel)Convert.ChangeType(this, typeof(TerrainPanel));
                ShowUndoTerrainOptionsPanel(panel, true);
                ShowBrushOptionsPanel(panel, true);
                //begin mod
                UIView.library.Show("LandscapingInfoPanel");
                //end mod
                if (zOrder == 1 || zOrder == 3)
                {
                    ShowLevelHeightPanel(panel, true);
                }
                else
                {
                    ShowLevelHeightPanel(panel, false);
                }
                //begin mod
                if (zOrder < kTools.Length)
                {
                    terrainTool.m_mode        = TerrainPanelDetour.kTools[zOrder].enumValue;
                    TerrainToolDetour.isDitch = false;
                }
                else
                {
                    terrainTool.m_mode        = TerrainTool.Mode.Shift;
                    TerrainToolDetour.isDitch = true;
                }
                //end mod
            }
        }
Exemplo n.º 11
0
    /// <summary>
    /// 初始化资源工厂
    /// </summary>
    public void InitFactory()
    {
        spritesFactory     = new ResFactory <Sprite>();
        spritesFactoryList = new ResFactory <Sprite[]>();
        spritesFactory.InitFactory(
            (resName) =>
        {
            if (spritesFactory.resDic.ContainsKey(resName))
            {
                return(spritesFactory.resDic[resName]);
            }
            else
            {
                // return Resources.Load<Sprite>(spritesResPath + resName);
                return(ResourceTool.LoadRes <Sprite>(resName));
            }
        }
            );
        spritesFactoryList.InitFactory(
            (folderName) =>
        {
            if (spritesFactoryList.resDic.ContainsKey(folderName))
            {
                return(spritesFactoryList.resDic[folderName]);
            }
            else
            {
                return(Resources.LoadAll <Sprite>(spritesResPath + folderName));
            }
        });



        prefabsFactory     = new ResFactory <GameObject>();
        prefabsFactoryList = new ResFactory <GameObject[]>();
        prefabsFactory.InitFactory(
            (resName) =>
        {
            if (prefabsFactory.resDic.ContainsKey(resName))
            {
                return(prefabsFactory.resDic[resName]);
            }
            else
            {
                //return Resources.Load<GameObject>(prefabsResPath + resName);
                return(ResourceTool.LoadRes <GameObject>(resName));
            }
        }
            );
        prefabsFactoryList.InitFactory(
            (folderName) =>
        {
            if (prefabsFactoryList.resDic.ContainsKey(folderName))
            {
                return(prefabsFactoryList.resDic[folderName]);
            }
            else
            {
                return(Resources.LoadAll <GameObject>(prefabsResPath + folderName));
            }
        });

        audioClipFactory     = new ResFactory <AudioClip>();
        audioClipFactoryList = new ResFactory <AudioClip[]>();
        audioClipFactory.InitFactory(
            (resName) =>
        {
            if (audioClipFactory.resDic.ContainsKey(resName))
            {
                return(audioClipFactory.resDic[resName]);
            }
            else
            {
                // return Resources.Load<AudioClip>(audioclipResPath + resName);
                return(ResourceTool.LoadRes <AudioClip>(resName));
            }
        }
            );


        audioClipFactoryList.InitFactory(
            (folderName) =>
        {
            if (audioClipFactoryList.resDic.ContainsKey(folderName))
            {
                return(audioClipFactoryList.resDic[folderName]);
            }
            else
            {
                return(Resources.LoadAll <AudioClip>(audioclipResPath + folderName));
            }
        });

        textAssetFactory = new ResFactory <TextAsset>();
        textAssetFactory.InitFactory(
            (resName) =>
        {
            if (audioClipFactoryList.resDic.ContainsKey(resName))
            {
                return(textAssetFactory.resDic[resName]);
            }
            else
            {
                return(ResourceTool.LoadRes <TextAsset>(resName));
            }
        });
    }