Exemple #1
0
    //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();
    }
Exemple #2
0
    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);
    }
Exemple #3
0
    public ToolBarData Copy()
    {
        ToolBarData d = new ToolBarData();

        for (int i = 0; i < skills.Length; i++)
        {
            d.skills[i] = skills[i];
        }

        return(d);
    }
Exemple #4
0
    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);
    }
Exemple #5
0
    /// <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);
    }
Exemple #6
0
    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();
    }