コード例 #1
0
        public void Build(string lbl, string value, List <string> selection, Action <string> onSelected)
        {
            EditorGUILayout.LabelField($"{lbl} : {value}", EditorStyles.boldLabel);

            GUI.SetNextControlName(lbl);
            m_value = EditorGUILayout.TextField("Search", m_value);

            if (m_value.IsEmpty() || GUI.GetNameOfFocusedControl() != lbl)
            {
                return;
            }

            List <string> foundItems = selection.FindAll(x => x.Contains(m_value));

            if (foundItems == null)
            {
                return;
            }

            GUILayout.BeginVertical("box");
            m_scrollPos = EditorGUILayout.BeginScrollView(m_scrollPos, GUILayout.Width(EditorGUIUtility.currentViewWidth - 50), GUILayout.Height(300));
            foundItems.ForEach(item => {
                EU.Btn(item, () => {
                    m_value = item;
                    onSelected(item);
                    GUI.FocusControl(null);
                });
            });
            EditorGUILayout.EndScrollView();
            GUILayout.EndVertical();
        }
コード例 #2
0
 public static string TextfieldWithOk(string label, string value, Action <string> onSubmit, string submitLbl = "OK")
 {
     EU.HGroup(() => {
         value = EditorGUILayout.TextField(label, value);
         EU.Btn(submitLbl, () => onSubmit.Invoke(value));
     });
     return(value);
 }
コード例 #3
0
        void SwitchPackageName(AdMobHelper tgt)
        {
            // TODO: need to refactor this as the package name is not relevant to admob stuff(s)
            // let's revisit this again later
            string cur = AppSettings.AndroidPlatform == AndroidPlatform.Google ? tgt.amazonPackageName : tgt.googlePackageName;

            PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, cur.Trim());
            EU.Refresh();
        }
コード例 #4
0
 protected override void ExecuteInstruction()
 {
     if (wordSize == 0)
     {
         EU.Registers.AL = (byte)EU.ReadPort(wordSize, port);
     }
     else
     {
         EU.Registers.AX = (ushort)EU.ReadPort(wordSize, port);
     }
 }
コード例 #5
0
ファイル: OutputInstruction.cs プロジェクト: amensch/e8086
 protected override void ExecuteInstruction()
 {
     if (wordSize == 0)
     {
         EU.WritePort(wordSize, port, EU.Registers.AL);
     }
     else
     {
         EU.WritePort(wordSize, port, EU.Registers.AX);
     }
 }
コード例 #6
0
 protected override void DoInstruction()
 {
     Bus.SaveString(wordSize, EU.Registers.DI, (byte)EU.ReadPort(wordSize, EU.Registers.DX));
     if (EU.CondReg.DirectionFlag)
     {
         EU.Registers.DI -= (ushort)(wordSize + 1);
     }
     else
     {
         EU.Registers.DI += (ushort)(wordSize + 1);
     }
 }
コード例 #7
0
 protected override void DoInstruction()
 {
     EU.WritePort(wordSize, EU.Registers.DX, Bus.GetDestString(wordSize, EU.Registers.SI));
     if (EU.CondReg.DirectionFlag)
     {
         EU.Registers.SI -= (ushort)(wordSize + 1);
     }
     else
     {
         EU.Registers.SI += (ushort)(wordSize + 1);
     }
 }
コード例 #8
0
        public override void OnInspectorGUI()
        {
            DrawDefaultInspector();
            AdMobHelper tgt = (AdMobHelper)target;

            EU.VPadding(() => EditorGUILayout.LabelField($"Cur Android Platform: {AppSettings.AndroidPlatform}", EditorStyles.boldLabel));
            EU.Btn("Switch Android Platform", () => {
                SwitchPackageName(tgt);
                SwitchAppSettingsPlatform(tgt);
                SwitchAdmobSettings(tgt);
                EU.Save();
            });
        }
コード例 #9
0
        void SwitchAppSettingsPlatform(AdMobHelper tgt)
        {
            string        path  = tgt.appSettingsPath;
            List <string> lines = File.ReadAllLines(path).ToList();

            string cur  = AppSettings.AndroidPlatform == AndroidPlatform.Google ? "AndroidPlatform.Google" : "AndroidPlatform.Amazon";
            string dest = AppSettings.AndroidPlatform == AndroidPlatform.Google ? "AndroidPlatform.Amazon" : "AndroidPlatform.Google";

            int platformIdx = lines.FindIndex(x => x.Contains("AndroidPlatform"));

            lines[platformIdx] = lines[platformIdx].Replace(cur, dest);

            File.WriteAllLines(path, lines);
            EU.Refresh();
        }
コード例 #10
0
        void SwitchAdmobSettings(AdMobHelper tgt)
        {
            string        path  = tgt.admobSettingsPath;
            List <string> lines = File.ReadAllLines(path).ToList();

            string googleAppId = tgt.googleAppId.Trim();
            string amazonAppId = tgt.amazonAppId.Trim();
            string cur         = AppSettings.AndroidPlatform == AndroidPlatform.Google ? googleAppId : amazonAppId;
            string dest        = AppSettings.AndroidPlatform == AndroidPlatform.Google ? amazonAppId : googleAppId;

            int androidAppIdIdx = lines.FindIndex(x => x.Contains("adMobAndroidAppId"));

            lines[androidAppIdIdx] = lines[androidAppIdIdx].Replace(cur, dest);

            File.WriteAllLines(path, lines);
            EU.Refresh();
        }
コード例 #11
0
        public void Build(string lbl, Action <UploadedModel> onUpload)
        {
            if (GUILayout.Button(lbl))
            {
                string path = EditorUtility.OpenFilePanel(lbl, string.IsNullOrEmpty(_lastUploadPath) ? "~/" : _lastUploadPath, "png,jpg");
                if (path.Length != 0)
                {
                    _lastUploadPath = path;
                    _model          = new UploadedModel(path, path.LastSplit());
                }
            }

            bool hasUploadedTexture = null != _model ? _model.Texture != null : false;

            EU.HGroup(() => {
                EditorGUILayout.BeginHorizontal();
                GUILayout.FlexibleSpace();
                if (hasUploadedTexture && GUILayout.Button("X"))
                {
                    _model = null;
                }
                EditorGUILayout.EndHorizontal();
            });

            if (hasUploadedTexture && null != _model)
            {
                EU.VSpacing();
                Rect  r           = GUILayoutUtility.GetLastRect();
                float windowWidth = EditorGUIUtility.currentViewWidth;
                r.size = _model.TextureSize.AspectRatio(windowWidth - 30f);
                EditorGUI.DrawPreviewTexture(r, _model.Texture);
                EU.VSpacing(r.height);

                EditorGUILayout.LabelField(_lastUploadPath, EditorStyles.miniBoldLabel);
                EU.VPadding(() => {
                    _model.Filename = EditorGUILayout.TextField("Filename", _model.Filename);
                });

                EU.VPadding(() => {
                    if (_model.FilenameExists && GUILayout.Button("UPLOAD"))
                    {
                        onUpload(_model);
                    }
                });
            }
        }
コード例 #12
0
        public void Build(ToggleState state, List <Item> items, Action <ToggleState> onToggle)
        {
            EU.HGroup(() => {
                items.Loop((it, idx) => {
                    bool selected          = state.Idx == idx;
                    var style              = new GUIStyle(GUI.skin.button);
                    style.normal.textColor = selected ? Color.blue : Color.black;
                    if (GUILayout.Button(it.Text, style) && !selected)
                    {
                        onToggle(new ToggleState(!state.State));
                    }
                });
            });

            Item item = items[state.Idx];

            EU.VPadding(() => item.Build());
        }
コード例 #13
0
            public override void OnInspectorGUI()
            {
                DrawDefaultInspector();
                WowCarousel tgt = (WowCarousel)target;

                EU.Btn("Refresh", () => {
                    Vector2 pivot = new Vector2(0f, .5f);

                    Vector2 carouselSize = tgt.GetComponent <RectTransform>().Size();
                    tgt.ItemContainer.SetWidth(carouselSize.x);
                    tgt.ItemContainer.pivot = pivot;

                    RectTransform itemRt = tgt.TemplateItem.GetComponent <RectTransform>();
                    itemRt.pivot         = pivot;
                    itemRt.SetSize(carouselSize);

                    EU.SetSceneDirty();
                });
            }
コード例 #14
0
ファイル: CPU.cs プロジェクト: amensch/e8086
        public long Run()
        {
            long count = 1;
            byte int_number;

            do
            {
                // check for interrupt
                if (interruptQueue.TryDequeue(out int_number))
                {
                    if (EU.CondReg.InterruptEnable)
                    {
                        EU.Interrupt(int_number);
                    }
                }

                NextInstructionDebug();
                count++;
            } while (!EU.Halted);
            return(count);
        }
コード例 #15
0
        public override void OnInspectorGUI()
        {
            DrawDefaultInspector();
            WSpriteResizer tgt = (WSpriteResizer)target;

            EU.VPadding(() => {
                tgt.data.ForEach(d => {
                    if (GUILayout.Button("RESIZE " + d.FolderPaths.Ellipsis(50)))
                    {
                        Pack(d);
                    }

                    EditorUtils.VSpacing();
                });
            });

            EU.VPadding(() => {
                EU.BtnWithAlert("RESIZE ALL", () => {
                    tgt.data.ForEach(d => Pack(d));
                });
            });
        }
コード例 #16
0
    public void BuildGrid(int modulerelateid, string GridID, string objectnamepk, string keyobjectnamepk, string wherekeyvalue)
    {
        //if (!this.Page.IsPostBack && !this.Page.IsCallback)
        //{
        SYControlUtils util = new SYControlUtils();
        EU entity = new EU();
        DataTable sourceField = ObjectUtils.getListFieldForGrid(modulerelateid, Session["BOID"] == null ? 0 : int.Parse(Session["BOID"].ToString()));
        if (sourceField.Rows.Count > 0)
        {
            isStoreProc = ObjectUtils.getIsStoredFromModuleId(modulerelateid);
            //_dsGridMain = util.getSqlDatasource(moduleid, SQLsource, grid, isStoreProc);

            util.CreateGridViewRetale(this.Page, gridrl, sourceField, modulerelateid, keyfieldname, GridID, isStoreProc);
            ThreadStart childthreat = new ThreadStart(SettingsGrid);
            Thread child = new Thread(childthreat);
            child.Start();
        }
        // }
    }
コード例 #17
0
ファイル: CPU.cs プロジェクト: amensch/e8086
 public void NextInstruction()
 {
     EU.Tick();
 }
コード例 #18
0
ファイル: ObjectUtils.cs プロジェクト: trantrung2608/ilinkbay
    public static DataTable getDataByModuleID(int moduleid, int BOID, bool isProc, System.Web.UI.Page currentPage)
    {
        try
        {

            DataTable dtParamLists = new DataTable();
            string paramstring = "";
            if (!checkSQLStringCachebyModuleID(moduleid, BOID))
            {
                SiAuto.Main.LogColored(Color.Blue, "--> vao truong hop chưa cache SQL");

                string sql = "";

                if (isProc)
                {
                    SiAuto.Main.LogColored(Color.Blue, "--> vao truong hop StoreProc");
                    //lấy storeProc Name để thực hiện
                    sql = ObjectUtils.getObjectNameFromModuleId(moduleid);
                    dtParamLists = SqlHelper.ExecuteDataset(DataServices.ConnectString, "SY_modules_parameter_getByModuleID", new object[] { moduleid }).Tables[0];
                    if (dtParamLists.Rows.Count > 0)
                        paramstring = getParamsListFromSP4SpExecute(dtParamLists, currentPage);
                }
                else
                {
                    SiAuto.Main.LogColored(Color.Blue, "--> vao truong hop SQL");

                    EU eu = new EU();
                    sql = eu.getGridDataSource(moduleid);
                    object[] result = DynamicQueryBuildParameter(sql, moduleid);
                    sql = result[0].ToString();
                    dtParamLists = result[1] as DataTable;
                    if (dtParamLists.Rows.Count > 0)
                        paramstring = getParamsListToString4SpExecute(dtParamLists, currentPage);
                }
                SqlHelper.ExecuteNonQuery(DataServices.ConnectString, "SY_SelectSQLCache_insert", moduleid, sql, BOID, isProc ? "P" : "Q");

                SiAuto.Main.LogDataTable("listParamTable", dtParamLists);

                DataSet ds = SqlHelper.ExecuteDataset(DataServices.ConnectString, "utils_getDataFromSQL", sql, paramstring, isProc ? "P" : "Q");
                if (ds.Tables.Count > 0)
                    return ds.Tables[0];
                else
                    return null;
            }
            else
            {
                isProc = ObjectUtils.getIsStoredFromModuleId(moduleid);
                SiAuto.Main.LogColored(Color.Blue, "--> vao truong hop da cache SQL");

                if (isProc)
                {
                    SiAuto.Main.LogColored(Color.Blue, "--> vao truong hop StoreProc");

                    dtParamLists = SqlHelper.ExecuteDataset(DataServices.ConnectString, "SY_modules_parameter_getByModuleID", new object[] { moduleid }).Tables[0];
                    SiAuto.Main.LogDataTable("Danh sach param trong Module_Params", dtParamLists);
                    if (dtParamLists.Rows.Count > 0)
                        paramstring = getParamsListFromSP4SpExecute(dtParamLists, currentPage);
                }
                else
                {
                    SiAuto.Main.LogColored(Color.Blue, "--> vao truong hop SQL");

                    dtParamLists = getParamsListFromCache(isProc, int.Parse(moduleid.ToString()));
                    if (dtParamLists.Rows.Count > 0)
                        paramstring = getParamsListToString4SpExecute(dtParamLists, currentPage);
                }
                SiAuto.Main.LogColored(Color.GreenYellow, paramstring);

                DataSet ds = SqlHelper.ExecuteDataset(DataServices.ConnectString, "utils_getDatabyModuleID", moduleid, BOID, paramstring);
                if (ds.Tables.Count > 0)
                    return ds.Tables[0];
                else
                    return null;
            }
        }
        catch (Exception ex)
        {

            SiAuto.Main.LogColored(Color.Red, ex.ToString());
            return null;
        }
    }
コード例 #19
0
        public bool Build(BuildCallback cb)
        {
            int cur = cb.Origins.IndexOf(cb.Value);

            EU.VPadding(() => {
                if (null != cb.AddAction && GUILayout.Button(cb.AddAction.Label))
                {
                    T item = new T();
                    cb.Origins.Add(item);
                    if (null != cb.AddAction.OnAdd)
                    {
                        cb.AddAction.OnAdd.Invoke(cb.Origins.Count);
                    }
                }

                EditorGUILayout.LabelField(cb.Label, EditorStyles.boldLabel);

                if (m_alignment == Align.V)
                {
                    GUILayout.BeginVertical();
                }
                else
                {
                    GUILayout.BeginHorizontal();
                }

                cb.Origins.Loop((t, idx) => {
                    EU.HGroup(() => {
                        bool isSelected        = idx == cur;
                        var style              = new GUIStyle(GUI.skin.button);
                        style.normal.textColor = isSelected ? Color.cyan : Color.white;

                        if (null != cb.Prefix)
                        {
                            cb.Prefix(t);
                        }

                        if (GUILayout.Button(cb.Mapper(t), style))
                        {
                            cb.OnSelected.Invoke(new SelectState <T>(idx, cb.Origins[idx]));
                            cur = idx;
                        }

                        if (null != cb.Suffix)
                        {
                            cb.Suffix(t);
                        }

                        if (null != cb.MoveAction && cb.Origins.Count > idx + 1)
                        {
                            EU.BtnWithAlert("V", () => {
                                if (cb.MoveAction.Move != null)
                                {
                                    cb.MoveAction.Move(idx);
                                }
                                else
                                {
                                    cb.Origins.Swap(idx, idx + 1);
                                }
                                cb.MoveAction.OnMoved.Invoke();
                            }, GUILayout.Width(20f));
                        }

                        if (null != cb.DelAction)
                        {
                            EU.BtnWithAlert(cb.DelAction.Label, () => {
                                if (null != cb.DelAction.OnDelete)
                                {
                                    cb.DelAction.OnDelete(new SelectState <T>(idx, cb.Origins[idx]));
                                }
                                else
                                {
                                    cb.Origins.RemoveAt(idx);
                                }
                                if (null != cb.DelAction.OnDeleted)
                                {
                                    cb.DelAction.OnDeleted.Invoke(idx);
                                }
                            }, GUILayout.Width(20f));
                        }
                    });
                });

                if (m_alignment == Align.V)
                {
                    GUILayout.EndVertical();
                }
                else
                {
                    GUILayout.EndHorizontal();
                }
            });

            return(cur > -1);
        }
コード例 #20
0
ファイル: ObjectUtils.cs プロジェクト: trantrung2608/ilinkbay
    public static DataTable getDataByModuleIDRelate(int moduleidRL, int BOID, bool isProc, System.Web.UI.Page currentPage, int moduleid, int KeyID)
    {
        try
        {

            string objectnameRelate = getObjectNameFromModuleId(moduleidRL);
            string objectname = getObjectNameFromModuleId(moduleid);
            string KeyfileNameobjectname = getKeyFromModule(moduleid);
            string SQLWhere = "";
            if (KeyID > 0)
            {
                DataSet ds_objectRelation = CacheObject.getGlobalCache("globalObjectRelationship");
                string getkey = string.Format("o1='{0}' AND o2='{1}' AND pk2='{2}'", objectnameRelate, objectname, KeyfileNameobjectname);
                DataRow[] dtr_where = ds_objectRelation.Tables[0].Select(getkey);
                string objectkeyRelate = dtr_where[0]["fk1"].ToString();
                SQLWhere = string.Format("[{0}].[{1}]={2}", objectnameRelate, objectkeyRelate, KeyID).ToLower();
            }

            DataTable dtParamLists = new DataTable();
            string paramstring = "";
            string sql = "";
            if (!checkSQLStringCachebyModuleID(moduleidRL, BOID))
            {
                SiAuto.Main.LogColored(Color.Blue, "--> vao truong hop chưa cache SQL");
                if (!isProc)
                {
                    SiAuto.Main.LogColored(Color.Blue, "--> vao truong hop SQL");

                    EU eu = new EU();
                    sql = eu.getGridDataSource(moduleidRL);
                    object[] result = DynamicQueryBuildParameter(sql, moduleidRL);
                    sql = result[0].ToString();
                    dtParamLists = result[1] as DataTable;
                    SqlHelper.ExecuteNonQuery(DataServices.ConnectString, "SY_SelectSQLCache_insert", moduleidRL, sql, BOID, isProc ? "P" : "Q");

                }
            }
            else
            {
                if (!isProc)
                {
                    SiAuto.Main.LogColored(Color.Blue, "--> vao truong hop SQL");
                    sql = SqlHelper.ExecuteScalar(DataServices.ConnectString, CommandType.Text,
                        string.Format("SELECT sqlstring FROM dbo.SY_SelectSQLCache WHERE moduleid={0}", moduleidRL))
                        .ToString();
                    dtParamLists = getParamsListFromCache(isProc, int.Parse(moduleidRL.ToString()));
                }
            }

            if (sql.IndexOf("where") >= 0)
            {
                int indexof = sql.IndexOf("where");
                sql = sql.Insert(indexof + "where".Length, " " + SQLWhere + " AND ");
            }
            else
            {
                sql = sql + " where " + SQLWhere;
            }

            if (dtParamLists.Rows.Count > 0)
                paramstring = getParamsListToString4SpExecute(dtParamLists, currentPage);
            SiAuto.Main.LogColored(Color.GreenYellow, paramstring);

            DataSet ds = SqlHelper.ExecuteDataset(DataServices.ConnectString, "utils_getDataFromSQL", sql, paramstring, isProc ? "P" : "Q");
            if (ds.Tables.Count > 0)
                return ds.Tables[0];
            return null;
        }
        catch (Exception ex)
        {

            SiAuto.Main.LogColored(Color.Red, ex.ToString());
            return null;
        }
    }