Esempio n. 1
0
    /// <summary>
    /// 编辑生成调用
    /// </summary>
    /// <param name="group">组</param>
    /// <param name="index">序号</param>
    /// <param name="pos">坐标</param>
    /// <param name="parent">父物体</param>
    protected override GameObject SpawnGizmo(int group, int index, Vector3 pos, Transform parent)
    {
        AbstractGizmoPointer abspoint    = CheckChoise(group, index);
        GameObject           gizmo       = null;
        UserGizmoPointer     userpointer = null;

        if (abspoint)
        {
            gizmo       = abspoint.gameObject;
            userpointer = abspoint as UserGizmoPointer;
        }
        else
        {
            gizmo       = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            userpointer = gizmo.AddComponent <UserGizmoPointer>();
            if (!pointmap.ContainsKey(group))
            {
                pointmap.Add(group, new Dictionary <int, AbstractGizmoPointer>());
            }
            if (!pointmap[group].ContainsKey(index))
            {
                pointmap[group].Add(index, userpointer);
            }
        }

        gizmo.transform.SetParent(parent);

        userpointer.Init(group, index, Vector3.one * 3);

        gizmo.transform.position = pos;

        return(gizmo);
    }
Esempio n. 2
0
    /// <summary>
    /// 当下一编辑命令到来时检查上一个编辑的点状态
    /// </summary>
    void CheckLastEdit(int group, int index)
    {
        AbstractGizmoPointer abspoint = CheckChoise(group, index);

        if (abspoint)
        {
            abspoint.EditDone(ReleaseGizmo);
        }
    }
Esempio n. 3
0
    /// <summary>
    /// 取消调用
    /// </summary>
    void CancleGizmo()
    {
        AbstractGizmoPointer abspoint = CheckChoise(currentgroup, currentindex);

        if (abspoint)
        {
            abspoint.EditDone(ReleaseGizmo);
        }
    }
Esempio n. 4
0
    /// <summary>
    /// 保存调用
    /// </summary>
    protected override void SaveGizmo()
    {
        AbstractGizmoPointer abspoint = CheckChoise(currentgroup, currentindex);

        if (abspoint)
        {
            abspoint.Saveme();
        }
    }
Esempio n. 5
0
    protected override GameObject SpawnGizmo(int group, int index, Vector3 pos, Transform parent)
    {
        GameObject g = GameObject.CreatePrimitive(PrimitiveType.Sphere);

        g.transform.SetParent(transform, false);
        g.transform.localPosition = pos;
        float   s           = 0.3f / 0.1f;
        Vector3 finalscaler = Vector3.one * s;

        AbstractGizmoPointer p = null;

        p = g.AddComponent <NormalGizmoPointer>();

        p.Init(group, index, finalscaler);
        Destroy(g.GetComponent <Collider>());

        return(g);
    }
    /// <summary>
    /// 释放该点
    /// </summary>
    /// <param name="group">组</param>
    /// <param name="index">序号</param>
    public void ReleasePointe(int group, int index)
    {
        AbstractGizmoPointer p = CheckChoise(group, index);

        p.ReleseMe();
    }