Exemplo n.º 1
0
 private void HandleCharacterType(string rootKey, string value, ref ECharType type)
 {
     if (EnumUtil <ECharType> .TryGetEnumValue(value, ref type))
     {
         table.Table[rootKey].Type = type;
     }
 }
 private void OnGUI()
 {
     DrawBaseInfo();
     EditorGUILayout.BeginHorizontal();
     {
         EditorGUILayout.LabelField("单位类型:", GUILayout.Width(80f));
         m_eCharType = (ECharType)EditorGUILayout.Popup((int)m_eCharType, CHARTYPENAME, GUILayout.Width(80f));
     }
     EditorGUILayout.EndHorizontal();
     DrawCharMove();
 }
Exemplo n.º 3
0
 private void OnGUI()
 {
     DrawBaseInfo();
     EditorGUILayout.BeginHorizontal();
     {
         EditorGUILayout.LabelField("单位类型:", GUILayout.Width(80f));
         m_eCharType = (ECharType)EditorGUILayout.Popup((int)m_eCharType, CHARTYPENAME, GUILayout.Width(80f));
     }
     EditorGUILayout.EndHorizontal();
     DrawCharMove();
 }
Exemplo n.º 4
0
    protected void Init()
    {
        //Window Setting
        m_Instance.minSize = new Vector2(WINDOW_MIN_WIDTH, WINDOW_MIN_HIEGHT);
        //Update Info
        if (null != m_ActionFrameData)
        {
            //base
            m_fTime  = (float)m_ActionFrameData.Time;
            m_Config = m_ActionFrameData.MovecharFrame;
            //m_Config
            m_eCharType        = m_Config.CharType;
            m_lstSpeedMoveList = m_Config.LstSpeedMove;
            //TargetNum
            m_nTargetNum     = m_lstSpeedMoveList.Count;
            m_nTargetLastNum = m_nTargetNum;
            //LastTimePos
            m_lstLastTimePos = new List <Vector3>();
            for (int i = 0; i < m_nTargetNum; i++)
            {
                if (m_lstSpeedMoveList[i].Target != null)
                {
                    m_lstLastTimePos.Add(m_lstSpeedMoveList[i].Target.GetVector3());
                }
                else
                {
                    m_lstLastTimePos.Add(new Vector3(0, 0, 0));
                }
            }
        }
        else
        {
            m_ActionFrameData     = new ActionFrameData();
            m_Config              = new MoveCharFrameConfig();
            m_Config.LstSpeedMove = new List <CharSpeedMove>();
        }
        // Hint Point Source
        var TriggerTemplateRoot = GameObject.Find("TriggerTemplateRoot");

        m_HintPointSource = TriggerTemplateRoot.transform.GetChild(0).gameObject;
        if (m_HintPointSource == null)
        {
            Debuger.LogError("m_HintPointSource not found");
        }
        // Add Hint Points
        m_lstHintPointList = new List <GameObject>();
        if (m_lstLastTimePos != null && m_lstLastTimePos.Count > 0)
        {
            for (int i = 0; i < m_lstLastTimePos.Count; ++i)
            {
                AddHintPoint(m_lstLastTimePos[i], i);
            }
        }
    }
 private void OnGUI()
 {
     DrawBaseInfo();
     EditorGUILayout.BeginHorizontal();
     {
         EditorGUILayout.LabelField("单位类型:", GUILayout.Width(80f));
         m_eCharType = (ECharType)EditorGUILayout.Popup((int)m_eCharType, CHARTYPENAME, GUILayout.Width(80f));
     }
     EditorGUILayout.EndHorizontal();
    
     GUILayout.Space(5f);
     if (NGUIEditorTools.DrawHeader("动画"))
     {
         GUILayout.Space(5f);
         EditorGUILayout.BeginHorizontal();
         {
             GUILayout.Space(5f);
             EditorGUILayout.LabelField("动画数量:", GUILayout.Width(80f));
             GUILayout.Space(5f);
             m_nAnimNum = EditorGUILayout.IntField(m_nAnimNum, GUILayout.Width(50f));
             if (m_nAnimNum != m_nLastAnimNum)
             {
                 m_lstAnimName = new List<string>();
                 for (int i = 0; i < m_nAnimNum; i++)
                 {
                     m_lstAnimName.Add("");
                 }
             }
             EditorGUILayout.BeginVertical();
             {
                 if (m_lstAnimName != null && m_lstAnimName.Count > 0)
                 {
                     for (int i = 0; i < m_lstAnimName.Count; i++)
                     {
                         EditorGUILayout.BeginHorizontal();
                         {
                             GUILayout.Label("动画" + (i + 1).ToString() + " : ", GUILayout.Width(80f));
                             m_lstAnimName[i] = EditorGUILayout.TextField(m_lstAnimName[i]);
                         }
                         EditorGUILayout.EndHorizontal();
                     }
                 }
             }
             EditorGUILayout.EndVertical();
         }
         EditorGUILayout.EndHorizontal();
     }
     m_nLastAnimNum = m_nAnimNum;
 }
Exemplo n.º 6
0
    private void OnGUI()
    {
        DrawBaseInfo();
        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.LabelField("单位类型:", GUILayout.Width(80f));
            m_eCharType = (ECharType)EditorGUILayout.Popup((int)m_eCharType, CHARTYPENAME, GUILayout.Width(80f));
        }
        EditorGUILayout.EndHorizontal();

        GUILayout.Space(5f);
        if (NGUIEditorTools.DrawHeader("动画"))
        {
            GUILayout.Space(5f);
            EditorGUILayout.BeginHorizontal();
            {
                GUILayout.Space(5f);
                EditorGUILayout.LabelField("动画数量:", GUILayout.Width(80f));
                GUILayout.Space(5f);
                m_nAnimNum = EditorGUILayout.IntField(m_nAnimNum, GUILayout.Width(50f));
                if (m_nAnimNum != m_nLastAnimNum)
                {
                    m_lstAnimName = new List <string>();
                    for (int i = 0; i < m_nAnimNum; i++)
                    {
                        m_lstAnimName.Add("");
                    }
                }
                EditorGUILayout.BeginVertical();
                {
                    if (m_lstAnimName != null && m_lstAnimName.Count > 0)
                    {
                        for (int i = 0; i < m_lstAnimName.Count; i++)
                        {
                            EditorGUILayout.BeginHorizontal();
                            {
                                GUILayout.Label("动画" + (i + 1).ToString() + " : ", GUILayout.Width(80f));
                                m_lstAnimName[i] = EditorGUILayout.TextField(m_lstAnimName[i]);
                            }
                            EditorGUILayout.EndHorizontal();
                        }
                    }
                }
                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndHorizontal();
        }
        m_nLastAnimNum = m_nAnimNum;
    }
Exemplo n.º 7
0
 private void OnGUI()
 {
     DrawBaseInfo();
     // State
     GUILayout.Space(5f);
     EditorGUILayout.BeginHorizontal();
     {
         if (m_CreatedNpcObject != null && m_Config != null)
         {
             if (GUILayout.Button("调整物体位置", GUILayout.Width(120f)))
             {
                 ActionEditorRuntime.Instance.SetRaycastCallBack(SetNpcPos);
             }
             if (GUILayout.Button("X", GUILayout.Width(20f)))
             {
                 ClearData();
             }
         }
     }
     EditorGUILayout.EndHorizontal();
     // Data
     EditorGUILayout.BeginHorizontal();
     {
         EditorGUILayout.LabelField("单位类型:", GUILayout.Width(80f));
         m_eCharType = (ECharType)EditorGUILayout.Popup((int)m_eCharType, CHARTYPENAME, GUILayout.Width(80f));
     }
     EditorGUILayout.EndHorizontal();
     GUILayout.Space(10f);
     EditorGUILayout.BeginHorizontal();
     {
         EditorGUILayout.LabelField("旋转角度:", GUILayout.Width(80f));
         m_Config.Rotation = EditorGUILayout.Slider((float)m_Config.Rotation, 0f, 359.9f);
         if (m_CreatedNpcObject != null)
         {
             Vector3 euler = m_CreatedNpcObject.transform.eulerAngles;
             euler.y = (float)m_Config.Rotation;
             if (m_fLastTimeEuler != euler.y)
             {
                 m_CreatedNpcObject.transform.eulerAngles = euler;
             }
             m_fLastTimeEuler = euler.y;
         }
     }
     EditorGUILayout.EndHorizontal();
 }
Exemplo n.º 8
0
 private void Init()
 {
     //Window Setting
     m_Instance.minSize = new Vector2(WINDOW_MIN_WIDTH, WINDOW_MIN_HIEGHT);
     m_ObjNpcRoot       = GameObject.Find("NpcRoot");
     //Update Info
     if (null != m_ActionFrameData)
     {
         //base
         m_fTime  = (float)m_ActionFrameData.Time;
         m_Config = m_ActionFrameData.RotcharFrame;
         //m_Config
         m_eCharType = m_Config.CharType;
         AddNpc(20000001, Vector3.zero, new Vector3(0, (float)m_Config.Rotation, 0), Vector3.one);
     }
     else
     {
         m_ActionFrameData = new ActionFrameData();
         m_Config          = new RotateCharFrameConfig();
         AddNpc(20000001, Vector3.zero, Vector3.zero, Vector3.one);
     }
 }
Exemplo n.º 9
0
 protected void Init()
 {
     //Window Setting
     m_Instance.minSize = new Vector2(WINDOW_MIN_WIDTH, WINDOW_MIN_HIEGHT);
     //Update Info
     if (null != m_ActionFrameData)
     {
         //base
         m_fTime  = (float)m_ActionFrameData.Time;
         m_Config = m_ActionFrameData.AnimcharFrame;
         //m_Config
         m_eCharType   = m_Config.CharType;
         m_lstAnimName = m_Config.LstAnimName;
         //Anim Num
         m_nAnimNum     = m_lstAnimName.Count;
         m_nLastAnimNum = m_nAnimNum;
     }
     else
     {
         m_ActionFrameData    = new ActionFrameData();
         m_Config             = new AnimCharFrameConfig();
         m_Config.LstAnimName = new List <string>();
     }
 }
Exemplo n.º 10
0
    protected void Init()
    {
        //Window Setting
        m_Instance.minSize = new Vector2(WINDOW_MIN_WIDTH, WINDOW_MIN_HIEGHT);
        //Update Info
        if (null != m_ActionFrameData)
        {
            //base
            m_fTime = (float)m_ActionFrameData.Time;
            m_Config = m_ActionFrameData.MovecharFrame;
            //m_Config
            m_eCharType = m_Config.CharType;
            m_lstSpeedMoveList = m_Config.LstSpeedMove;
            //TargetNum
            m_nTargetNum = m_lstSpeedMoveList.Count;
            m_nTargetLastNum = m_nTargetNum;
            //LastTimePos
            m_lstLastTimePos = new List<Vector3>();
            for (int i = 0; i < m_nTargetNum; i++)
            {
                if (m_lstSpeedMoveList[i].Target != null)
                {
                    m_lstLastTimePos.Add(m_lstSpeedMoveList[i].Target.GetVector3());
                }
                else
                {
                    m_lstLastTimePos.Add(new Vector3(0, 0, 0));
                }
            }
        }
        else
        {
            m_ActionFrameData = new ActionFrameData();
            m_Config = new MoveCharFrameConfig();
            m_Config.LstSpeedMove = new List<CharSpeedMove>();
        }
        // Hint Point Source
        var TriggerTemplateRoot = GameObject.Find("TriggerTemplateRoot");
        m_HintPointSource = TriggerTemplateRoot.transform.GetChild(0).gameObject;
        if (m_HintPointSource == null)
        {
            Debuger.LogError("m_HintPointSource not found");
        }
        // Add Hint Points
        m_lstHintPointList = new List<GameObject>();
        if (m_lstLastTimePos != null && m_lstLastTimePos.Count > 0)
        {
            for (int i = 0; i < m_lstLastTimePos.Count; ++i)
            {
                AddHintPoint(m_lstLastTimePos[i],i);
            }
        }

    }
Exemplo n.º 11
0
    protected void Init()
    {
        //Window Setting
        m_Instance.minSize = new Vector2(WINDOW_MIN_WIDTH, WINDOW_MIN_HIEGHT);
        //Update Info
        if (null != m_ActionFrameData)
        {
            //base
            m_fTime = (float)m_ActionFrameData.Time;
            m_Config = m_ActionFrameData.AnimcharFrame;
            //m_Config
            m_eCharType = m_Config.CharType;
            m_lstAnimName = m_Config.LstAnimName;
            //Anim Num
            m_nAnimNum = m_lstAnimName.Count;
            m_nLastAnimNum = m_nAnimNum;
        }
        else
        {
            m_ActionFrameData = new ActionFrameData();
            m_Config = new AnimCharFrameConfig();
            m_Config.LstAnimName = new List<string>();
        }

    }
Exemplo n.º 12
0
        public override void ReadFromFile()
        {
            foreach (var path in this._paths)
            {
                var doc = XDocument.Load(path);

                EClass    baseClass = EClass.None;
                ECharType type      = ECharType.None;
                ECulture  culture   = ECulture.None;
                ERace     race      = ERace.None;

                foreach (var el in doc.Root.Elements())
                {
                    foreach (var att in el.Attributes())
                    {
                        if (EnumUtil <ECulture> .TryGetEnumValue(att.Value, ref culture))
                        {
                            foreach (var ele in el.Elements())
                            {
                                foreach (var attr in ele.Attributes())
                                {
                                    string key = "";

                                    if (!table.Table.ContainsKey(attr.Value.ToString()))
                                    {
                                        key = attr.Value.ToString();

                                        table.Table.Add(key, new PreCharParams());
                                        table.Table[key].Name    = key;
                                        table.Table[key].Culture = culture;
                                    }
                                    foreach (var elem in ele.Elements())
                                    {
                                        switch (elem.Name.ToString())
                                        {
                                        case (PredefinedReaderParams.ABILITIES): { this.HandleAbilities(elem, key); } break;

                                        case (PredefinedReaderParams.AGENT_ROLE): { this.HandleAgentRole(key, elem.Value); } break;

                                        case (PredefinedReaderParams.ATTACK_SPRITE_INDEX): { this.HandleCritterAttackSpriteIndex(key, elem.Value.ToString()); } break;

                                        case (PredefinedReaderParams.CLASS): { this.HandleClassType(key, elem.Value.ToString(), ref baseClass); } break;

                                        case (PredefinedReaderParams.DEAD_SPRITE_INDEX): { this.HandleCritterDeadSpriteIndex(key, elem.Value.ToString()); } break;

                                        case (PredefinedReaderParams.FLINCH_SPRITE_INDEX): { this.HandleCritterFlinchSpriteIndex(key, elem.Value.ToString()); } break;

                                        case (PredefinedReaderParams.MOUNT): { this.HandleMount(key, elem.Value); } break;

                                        case (PredefinedReaderParams.PERKS): { this.HandlePerks(elem, key); } break;

                                        case (PredefinedReaderParams.POTENTIAL_ARMORS): { this.HandleEquipment(elem, key); } break;

                                        case (PredefinedReaderParams.POTENTIAL_WEAPONS): { this.HandleEquipment(elem, key); } break;

                                        case (PredefinedReaderParams.RACE): { this.HandleRace(key, elem.Value.ToString(), ref race); } break;

                                        case (PredefinedReaderParams.STATS): { this.HandleStats(elem, key); } break;

                                        case (PredefinedReaderParams.TYPE): { this.HandleCharacterType(key, elem.Value.ToString(), ref type); } break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 13
0
 public void SetType(ECharType t)
 {
     this._type = t;
 }