//public Flags ActorFlags { get; set; } public ActorData(string key) : base(key) { buffContainer = new BuffContainer(); isAlive = true; equipment = new Equipment(); Relationships = new Relationship(); inventory = new Inventory(); toolbaar = new ToolBarData(); actorPropertyTags = new List <string>(); // Relationships = new Relationship(); blockAttack = false; blockMove = false; JobDataState = new JobDataState(); cooldownMap = new CooldownMap(); primaryJob = ""; secondaryJob = ""; description = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vitae nunc eget leo maximus scelerisque commodo ut ex. Nulla iaculis dui erat, a pharetra ipsum pharetra a. Vestibulum sed commodo nisl, non feugiat nunc."; deathThreshold = 0; currentStatCollection = new StatsContainer(); maxStatCollection = new StatsContainer(); }
private static bool DrawItem <T>(List <ToolBarData <T> > contentList, ToolBarData <T> content, ref ToolBarData <T> contentSelect, CallBack <bool, ToolBarData <T> > OnMovePositionItemCallback = null, CallBack <ToolBarData <T> > closeItemCallback = null) { bool result = false; bool isSelect = content.Id.Equals(contentSelect.Id); int id = contentList.IndexOf(content); GUIStyle style = "Label"; GUIStyle style1 = "Label"; if (isSelect) { style1 = "ProgressBarBar"; } GUILayout.BeginHorizontal(style1, GUILayout.MinWidth(100), GUILayout.MaxWidth(160)); if (isSelect && (id > 0) && GUILayout.Button("<", style, GUILayout.Width(10))) { contentList.Remove(content); contentList.Insert(id - 1, content); if (OnMovePositionItemCallback != null) { OnMovePositionItemCallback(false, contentSelect); } result = true; } if (GUILayout.Button(content.name, style, GUILayout.MaxWidth(60), GUILayout.MaxWidth(120))) { if (!isSelect) { contentSelect = content; } result = false; } if (isSelect && GUILayout.Button("X", style, GUILayout.Width(15))) { contentList.Remove(content); result = true; if (closeItemCallback != null) { closeItemCallback(content); } } if (isSelect && (id < contentList.Count - 1) && GUILayout.Button(">", style, GUILayout.Width(15))) { contentList.Remove(content); contentList.Insert(id + 1, content); if (OnMovePositionItemCallback != null) { OnMovePositionItemCallback(true, contentSelect); } result = true; } // GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.Space(4); return(result); }
public ToolBarData Copy() { ToolBarData d = new ToolBarData(); for (int i = 0; i < skills.Length; i++) { d.skills[i] = skills[i]; } return(d); }
public static void AddType(Type t) { if (instance == null) { OpenWindow(); } if (t == null) { Debug.LogError("Type is Null"); return; } ToolBarData <Type> d = new ToolBarData <Type>(t.Name, t); scriptsNames.Insert(0, d); }
/// <summary> /// 类VS代码标签UI /// </summary> /// <typeparam name="T"></typeparam> /// <param name="scrollPos"></param> /// <param name="contentList"></param> /// <param name="select"></param> /// <param name="OnChangeSelectItemCallback">标签选择切换</param> /// <param name="OnMovePositionItemCallback">向右移动标签为true,向左为false</param> /// <param name="OnCloseItemCallback">标签关闭</param> /// <returns></returns> public static ToolBarData <T> DrawToolBar <T>(ref Vector2 scrollPos, List <ToolBarData <T> > contentList, ToolBarData <T> select, CallBack <ToolBarData <T> > OnChangeSelectItemCallback = null, CallBack <bool, ToolBarData <T> > OnMovePositionItemCallback = null, CallBack <ToolBarData <T> > OnCloseItemCallback = null) { int selectID = -1; if (select != null) { selectID = select.Id; } else { selectID = -1; } if (select == null || !contentList.Contains(select)) { if (contentList.Count > 0) { select = contentList[0]; } } GUILayout.BeginHorizontal("AppToolbar"); ToolBarData <T>[] arr = contentList.ToArray(); for (int i = 0; i < arr.Length; i++) { if (DrawItem(contentList, arr[i], ref select, OnMovePositionItemCallback, OnCloseItemCallback)) { break; } } if (selectID != -1) { if (select != null && select.Id != selectID) { if (OnChangeSelectItemCallback != null) { OnChangeSelectItemCallback(select); } } } else { if (select != null) { if (OnChangeSelectItemCallback != null) { OnChangeSelectItemCallback(select); } } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); return(select); }
void OnGUI() { assemblyName = EditorDrawGUIUtil.DrawBaseValue("程序集名:", assemblyName).ToString(); typeFullName = EditorDrawGUIUtil.DrawBaseValue("类型全名:", typeFullName).ToString(); if (GUILayout.Button("获取全部信息")) { AddType(assemblyName, typeFullName); } GUILayout.BeginVertical(); selectCont = EditorDrawToolBarGUI.DrawToolBar(ref posS, scriptsNames, selectCont, (tt) => { GetTypeAllInfo(tt.data); }); Type ac = null; if (selectCont != null) { ac = selectCont.data; } if (ac == null || fields == null) { return; } toolbarOption = GUILayout.Toolbar(toolbarOption, toolbarTexts, GUILayout.Width(Screen.width)); switch (toolbarOption) { case 0: string content = ReflectionToCodeDefineInfo.GetTypeAllInfo(ac, constructorInfos, fields, propertyInfos, methodInfos); GUILayout.Space(6); pos = EditorGUILayout.BeginScrollView(pos); GUILayout.BeginVertical("NotificationBackground"); List <string> sList = new List <string>(); int size = content.Length; int everyDrawSize = 5000; while (size >= everyDrawSize) { string subs = content.Substring(0, everyDrawSize); content = content.Remove(0, everyDrawSize); int id = content.IndexOf("\n"); subs += content.Substring(0, id + 1); content = content.Remove(0, id + 1); size = content.Length; sList.Add(subs); } if (content.Length > 0) { sList.Add(content); } for (int i = 0; i < sList.Count; i++) { GUIStyle style1 = new GUIStyle("Label"); style1.richText = true; style1.fontSize = 15; EditorGUILayout.TextArea(sList[i], style1); } GUILayout.EndVertical(); break; case 1: GUILayout.Space(10); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); toolbarOptionSec = GUILayout.Toolbar(toolbarOptionSec, toolbarTextsSec, GUILayout.Width(Screen.width - 40)); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); pos = EditorGUILayout.BeginScrollView(pos); switch (toolbarOptionSec) { case 0: GUILayout.Space(6); ShowMainType(ac); break; case 1: GUILayout.Space(6); ShowInfoGUI(ac, constructorInfos); break; case 2: GUILayout.Space(6); ShowInfoGUI(ac, fields); break; case 3: GUILayout.Space(6); ShowInfoGUI(ac, propertyInfos); break; case 4: GUILayout.Space(6); ShowInfoGUI(ac, methodInfos); break; } break; case 2: break; } GUILayout.FlexibleSpace(); EditorGUILayout.EndScrollView(); GUILayout.EndVertical(); }