Example #1
0
    /// <summary>
    /// 绘制属性
    /// </summary>
    public override void DrawAttr()
    {
        base.DrawAttr();

        m_TriggerRange = m_BaseTrigger as TriggerRange;

        m_TriggerRange.transform.tag = "RangeTrigger";

        if (m_TriggerRange.GetComponent <BoxCollider2D>() == null)
        {
            m_TriggerRange.gameObject.AddComponent <BoxCollider2D>();
        }

        GUI.color = Color.green;
        GUILayout.Label("在BoxCollider2D中设置范围");
        GUI.color = Color.white;

        if (m_TriggerRange.transform.childCount <= 0)
        {
            GUI.color = Color.white;
            GUILayout.Label("隐形触发器,可添加item子结点成为可视");
            GUI.color = Color.white;
        }
        else if (m_TriggerRange.transform.childCount > 1)
        {
            GUI.color = Color.yellow;
            GUILayout.Label("只能添加一个item子结点");
            GUI.color = Color.white;
        }
        else
        {
            if (m_BaseTrigger.transform.GetChild(0).transform.name.Contains("item_"))
            {
                GUI.color = Color.green;
                GUILayout.Label("可视触发器");
                GUI.color = Color.white;
            }
            else
            {
                GUI.color = Color.red;
                GUILayout.Label("子结点需要是item");
                GUI.color = Color.white;
            }
        }
    }
    /// <summary>
    /// 绘制属性
    /// </summary>
    public override void DrawAttr()
    {
        base.DrawAttr();

        m_TriggerRange = m_BaseTrigger as TriggerRange;

        m_TriggerRange.transform.tag = "RangeTrigger";

        if (m_TriggerRange.GetComponent<BoxCollider2D>() == null)
        {
            m_TriggerRange.gameObject.AddComponent<BoxCollider2D>();
        }

        GUI.color = Color.green;
        GUILayout.Label("在BoxCollider2D中设置范围");
        GUI.color = Color.white;

        if (m_TriggerRange.transform.childCount <= 0)
        {
            GUI.color = Color.white;
            GUILayout.Label("隐形触发器,可添加item子结点成为可视");
            GUI.color = Color.white;
        }
        else if (m_TriggerRange.transform.childCount > 1)
        {
            GUI.color = Color.yellow;
            GUILayout.Label("只能添加一个item子结点");
            GUI.color = Color.white;
        }
        else
        {
            if (m_BaseTrigger.transform.GetChild(0).transform.name.Contains("item_"))
            {
                GUI.color = Color.green;
                GUILayout.Label("可视触发器");
                GUI.color = Color.white;
            }
            else
            {
                GUI.color = Color.red;
                GUILayout.Label("子结点需要是item");
                GUI.color = Color.white;
            }   
        }
    }
    /// <summary>
    /// 处理范围触发器
    /// </summary>
    /// <param name="tmp"></param>
    private void ProcessTriggerRange(TriggerRange tmp)
    {
        if (tmp.transform.GetComponent <BoxCollider2D>() == null)
        {
            UnityEngine.Debug.LogWarning("TriggerRange需要BoxCollider2D " + tmp.transform.name);
        }

        if (tmp.transform.childCount > 0)
        {
            tmp.m_strItemName = tmp.transform.GetChild(0).name;

            if (tmp.transform.childCount > 1)
            {
                UnityEngine.Debug.LogWarning("可视TriggerRange只能添加一个item子结点 " + tmp.transform.name);
            }

            if (tmp.m_strItemName.Contains("item_") == false)
            {
                UnityEngine.Debug.LogError("可视TriggerRange子结点需要是item " + tmp.transform.name);
            }
        }
    }
    /// <summary>
    /// 处理范围触发器
    /// </summary>
    /// <param name="tmp"></param>
    private void ProcessTriggerRange(TriggerRange tmp)
    {
        if (tmp.transform.GetComponent<BoxCollider2D>() == null)
        {
            UnityEngine.Debug.LogWarning("TriggerRange需要BoxCollider2D " + tmp.transform.name);
        }
        
        if (tmp.transform.childCount > 0)
        {
            tmp.m_strItemName = tmp.transform.GetChild(0).name;

            if (tmp.transform.childCount > 1)
            {
                UnityEngine.Debug.LogWarning("可视TriggerRange只能添加一个item子结点 " + tmp.transform.name);
            }

            if (tmp.m_strItemName.Contains("item_") == false)
            {
                UnityEngine.Debug.LogError("可视TriggerRange子结点需要是item " + tmp.transform.name);
            }
        }
    }