public static Project Create(string name, string icon, int id) { // int bid = id * 10; return(new Project() { Name = name, Icon = icon, ID = id, /* Items = new List<Group>() { * Group.Create("Прихожая", "hall.png", 1 + bid), * Group.Create("Зал", "livingroom.png", 2 + bid), * Group.Create("Кухня", "kitchen.png", 3 + bid), * Group.Create("Спальня", "bedroom.png", 4 + bid), * Group.Create("Туалет", "toilet.png", 5 + bid) */ Items = new ObservableCollection <Group>() { Group.Create("Прихожая", "hall.png", IntID.NewID()), Group.Create("Зал", "livingroom.png", IntID.NewID()), Group.Create("Кухня", "kitchen.png", IntID.NewID()), Group.Create("Спальня", "bedroom.png", IntID.NewID()), Group.Create("Туалет", "toilet.png", IntID.NewID()) } }); }
IntID FindEmptyID(IntID id) { foreach (TableItem item in nowList) { if (item.itemID == id) { id = id + 1; } } return(id); }
IntID MoveModel(IntID nowModel, int move) // 모델의 이전 또는 이후 코드를 얻는다. { for (int i = 0; i < modelCode.Length; i++) { if (modelCode[i] == nowModel) { return(modelCode[(i + move + modelCode.Length) % modelCode.Length]); } } return(nowModel); }
public static Group Create(string name, string icon, int id) { //int bid = id * 10; return(new Group() { Name = name, Icon = icon, ID = id, Items = new ObservableCollection <Scene>() { /* Scene.LightsOff(1 + bid), * Scene.Night(2 + bid), * Scene.SoftLight(3 + bid), * Scene.BrightLight(4 + bid) */ Scene.LightsOff(IntID.NewID()), Scene.Night(IntID.NewID()), Scene.SoftLight(IntID.NewID()), Scene.BrightLight(IntID.NewID()) /* new GroupEvent() { CategoryID = 1, GroupID = 1, Icon = "workLight.png", InputID = 0, Name = "Рабочий свет", SecurityLevel = 0, TimePar = 0}, * new UIDEvent() { Icon = "socket.png", InputID = 0, Name = "Розетка плиты", SecurityLevel = 1} */ } }); }
public static int GetIntPropertyID(IntID id) { return(_intIDs[(int)id]); }
public static void SetGlobalInt(IntID id, int value) { Shader.SetGlobalInt(_intIDs[(int)id], value); }
void OnGUI() { UTool.CheckInitUI(); bool change = false; #region File Menu EditorGUILayout.BeginHorizontal(); showConst = EditorGUILayout.Foldout(showConst, "Show Const"); GUILayout.Space(20); DefaultLoad(); MenuFileIO(); EditorGUILayout.Space(); if (GUILayout.Button("Init", GUILayout.Width(50)) || tableConst.modelW == null) { InitTable(); } EditorGUILayout.EndHorizontal(); #endregion #region Edit Const Data if (showConst) { EditorGUILayout.BeginHorizontal(); GUILayout.Space(20); for (int i = 0; i < modelCode.Length; i++) { IntID model = modelCode[i]; if (tableConst.modelW.ContainsKey(model) == false) { continue; } EditorGUILayout.LabelField(model.ToString(), GUILayout.Width(25)); int w = EditorConstValue(tableConst.modelW[model], 40, "model_weight", tableConst.modelW[model]); if (w != tableConst.modelW[model]) { tableConst.modelW[model] = w; break; } if (i + 1 < modelCode.Length) // 종류가 다르면 다음라인에 출력. { int r1 = modelCode[i] / 100; int r2 = modelCode[i + 1] / 100; if (r1 != r2) { EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Space(20); } } } if (GUILayout.Button("Apply", GUILayout.Width(50))) { EditConstWeightAllItem(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); // [skill weight] GUILayout.Space(20); int count = 0; foreach (var pair in tableConst.skillW) { if (pair.Key == ItemSkill.none) { continue; } if (count == 7) { count = 0; EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Space(20); } EditorGUILayout.LabelField(pair.Key.ToString(), GUILayout.Width(60)); int w = EditorConstValue(pair.Value, 40, "weapon_weight", pair.Value); if (w != pair.Value) { tableConst.skillW[pair.Key] = w; break; } count++; } EditorGUILayout.EndHorizontal(); GUILayout.Space(5); } #endregion #region Chioce Model // items info EditorGUILayout.BeginHorizontal(); GUILayout.Space(20); EditorGUILayout.LabelField("Filter:", GUILayout.Width(40)); string newFilter = EditorGUILayout.TextField(mIDFilter, GUILayout.Width(100)); { mIDFilter = newFilter; ReadyNowList(); } /* if (GUILayout.Button (" < ", GUILayout.Width(40))) * { * nowModel = MoveModel (nowModel, -1); * ReadyNowList (); * } * if (GUILayout.Button (" > ", GUILayout.Width(40))) * { * nowModel = MoveModel (nowModel, 1); * ReadyNowList (); * } * IntID newModel = EditorGUILayout.IntPopup (nowModel, modelName, modelCode, GUILayout.Width(50)); * if (newModel != nowModel) * { * nowModel = newModel; * ReadyNowList (); * }*/ EditorGUILayout.LabelField(" Model: " + nowList.Count.ToString(), GUILayout.Width(100)); EditorGUILayout.LabelField(" All: " + tItemDict.Count.ToString(), GUILayout.Width(100)); bool newshowAll = EditorGUILayout.ToggleLeft("Show All", showAll); if (showAll != newshowAll) { showAll = newshowAll; ReadyNowList(); } EditorGUILayout.EndHorizontal(); #endregion #region Field Name EditorGUILayout.BeginHorizontal(); // ablility list GUILayout.Space(20); EditorGUILayout.LabelField("DN ", GUILayout.Width(25)); EditorGUILayout.LabelField("Insert ", GUILayout.Width(40)); EditorGUILayout.LabelField("ItemID ", GUILayout.Width(60)); EditorGUILayout.LabelField("Scale ", GUILayout.Width(30)); EditorGUILayout.LabelField("Skill ", GUILayout.Width(60)); EditorGUILayout.LabelField("capEnergy ", GUILayout.Width(60)); EditorGUILayout.LabelField("genEnergy ", GUILayout.Width(60)); EditorGUILayout.LabelField("capBody ", GUILayout.Width(55)); EditorGUILayout.LabelField("capShield ", GUILayout.Width(60)); EditorGUILayout.LabelField("genShield ", GUILayout.Width(60)); EditorGUILayout.LabelField("capStorage", GUILayout.Width(60)); EditorGUILayout.LabelField("capAccel ", GUILayout.Width(60)); EditorGUILayout.LabelField("capSpeed ", GUILayout.Width(60)); EditorGUILayout.LabelField("capSight ", GUILayout.Width(60)); //EditorGUILayout.LabelField ("gain ", GUILayout.Width(40)); refreshgain = GUILayout.Button("gain", GUILayout.Width(40)); EditorGUILayout.EndHorizontal(); #endregion #region Edit Const ablility rate if (showConst) { EditorGUILayout.BeginHorizontal(); // ablility list GUILayout.Space(20); if (GUILayout.Button(editConst == "" ? "" : "Cancel", GUILayout.Width(60))) { editAbillR = new DicAbilityRate(tableConst.abillR); editConst = ""; EditorUtility.FocusProjectWindow(); // focus out } if (GUILayout.Button(editConst == "" ? "" : "Change: " + editConst, GUILayout.Width(167))) { EditConstRateAllItem(); editConst = ""; EditorUtility.FocusProjectWindow(); // focus out } editAbillR[ItemAbility.capEnergy] = EditorConstValue(editAbillR[ItemAbility.capEnergy], 60, "capEnergy", tableConst.abillR[ItemAbility.capEnergy]); editAbillR[ItemAbility.genEnergy] = EditorConstValue(editAbillR[ItemAbility.genEnergy], 60, "genEnergy", tableConst.abillR[ItemAbility.genEnergy]); editAbillR[ItemAbility.capBody] = EditorConstValue(editAbillR[ItemAbility.capBody], 55, "capBody", tableConst.abillR[ItemAbility.capBody]); editAbillR[ItemAbility.capShield] = EditorConstValue(editAbillR[ItemAbility.capShield], 60, "capShield", tableConst.abillR[ItemAbility.capShield]); editAbillR[ItemAbility.genShield] = EditorConstValue(editAbillR[ItemAbility.genShield], 60, "genShield", tableConst.abillR[ItemAbility.genShield]); GUILayout.Space(60 + 4); editAbillR[ItemAbility.capAccel] = EditorConstValue(editAbillR[ItemAbility.capAccel], 60, "capAccel", tableConst.abillR[ItemAbility.capAccel]); editAbillR[ItemAbility.capSpeed] = EditorConstValue(editAbillR[ItemAbility.capSpeed], 60, "capSpeed", tableConst.abillR[ItemAbility.capSpeed]); EditorConstValue(0, 60, "capSight", 0); EditorGUILayout.EndHorizontal(); } #endregion #region Edit Item List scrollpos = EditorGUILayout.BeginScrollView(new Vector2(0, scrollpos.y)); foreach (TableItem item in nowList) { EditorGUILayout.BeginHorizontal(); GUILayout.Space(20); if (GUILayout.Button("D", GUILayout.Width(25))) { newItem = item; tItemDict.Remove(item.itemID); ReadyNowList(); } if (GUILayout.Button("+", GUILayout.Width(40))) { TableItem insert = item; IntID id = item.itemID; for (; tItemDict.ContainsKey(id + 1); id++) { TableItem saveitem = tItemDict[id + 1]; insert.itemID = id + 1; tItemDict[insert.itemID] = insert; insert = saveitem; } insert.itemID = id + 1; tItemDict[insert.itemID] = insert; ReadyNowList(); } change = false; TableItem eitem = GUIEditor_Item(item, ref change); if (change) { if (eitem.itemID == item.itemID) { tItemDict[eitem.itemID] = eitem; } ReadyNowList(); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); #endregion #region Add Item EditorGUILayout.BeginHorizontal(); GUILayout.Space(20); if (GUILayout.Button("ADD", GUILayout.Width(70))) { tItemDict[newItem.itemID] = newItem; ReadyNowList(); } change = false; newItem = GUIEditor_Item(newItem, ref change, true); EditorGUILayout.EndHorizontal(); #endregion #region Edit ItemID EditorGUILayout.BeginHorizontal(); GUILayout.Space(20); if (changeID != 0) { EditorGUILayout.LabelField(changeID.ToString(), GUILayout.Width(60)); changeEditID = EditorGUILayout.IntField(changeEditID, GUILayout.Width(60)); if (GUILayout.Button("Change", GUILayout.Width(100))) { if (changeEditID == changeID) { changeID = 0; } else { if (tItemDict.ContainsKey(changeEditID) == false) { TableItem item = tItemDict[changeID]; item.itemID = changeEditID; tItemDict[item.itemID] = item; tItemDict.Remove(changeID); ReadyNowList(); changeID = 0; } } } } EditorGUILayout.EndHorizontal(); #endregion }
public ActionResult ResourceEditor(FormCollection form) { string _cm = form["cm"]; this.cm = _cm; this.resource_type = form["resource_type"]; KTResource resource = null; string id = form["objid"]; resource = new KTResource { code = form["code"], parent = form["parent_id"], ancestorids = form["parent_id"], //TODO 到根的层级 myManager = form["manager"], myManagerIds = form["courtesy_title"], //TODO 到根的层级 area = Convert.ToInt32(form["area"]), tags = form["resource_tags"], notes = form["note"], ownerx = this.UserID, name = form["fld_surname"] + " " + form["fld_name"], inherit = false, propagate = true, hidden = false, }; // 设置manager myManagerIds字段,就是上级主管人 string _managerid = form["manager"]; if (!string.IsNullOrEmpty(_managerid)) { KTResource _managerResourceInfo = service.GetDetail(Convert.ToInt32(_managerid)); string _mids = _managerResourceInfo.myManagerIds ?? ""; resource.myManager = _managerid; resource.myManagerIds = _mids + _managerid + "^"; } // 设置manager myManagerIds字段,就是上级主管人 string _parentid = form["parent_id"]; if (!string.IsNullOrEmpty(_parentid)) { KTResource _parentResourceInfo = service.GetDetail(Convert.ToInt32(_parentid)); string _pids = _parentResourceInfo.ancestorids ?? ""; resource.parent = _parentid; resource.ancestorids = _pids + _parentid + "^"; } if (this.resource_type.ToLower() == "com.twproject.resource.person") { // 人 ViewBag.Type = "person"; resource.discriminator = "PERSON"; resource.personName = form["fld_name"]; resource.personSurname = form["fld_surname"]; resource.courtesyTitle = form["courtesy_title"]; if (this.cm.ToLower() == "sv" && id.ToLower() == "newemptyid") { resource.creationDate = DateTime.Now; resource.creator = this.User.Identity.Name; resource.lastModified = DateTime.Now; resource.lastModifier = this.User.Identity.Name; resource.id = service.Maxid().id.ToString(); KTResource result = service.Insert(resource); } else { resource.id = id; resource.lastModified = DateTime.Now; resource.lastModifier = this.User.Identity.Name; int count = service.Update(resource); } } else { // 加部门 resource.discriminator = "COMPANY"; resource.typex = Convert.ToInt32(form["type"]); if (this.cm.ToLower() == "sv" && id.ToLower() == "newemptyid") { resource.creationDate = DateTime.Now; resource.creator = this.User.Identity.Name; resource.lastModified = DateTime.Now; resource.lastModifier = this.User.Identity.Name; IntID _id = service.Maxid(); resource.id = _id.id.ToString(); KTResource result = service.Insert(resource); } else { resource.id = id; resource.lastModified = DateTime.Now; resource.lastModifier = this.User.Identity.Name; int count = service.Update(resource); } ViewBag.Type = "company"; } ViewBag.ResourceInfo = resource; TempData["resource"] = resource; return(View()); }