示例#1
0
        public ICollideGeometricElement Clone(CollideMeshObject mesh)
        {
            CollideSpheresElement sm = (CollideSpheresElement)MemberwiseClone();

            sm.Mesh = mesh;
            sm.Reset();
            return(sm);
        }
示例#2
0
        public CollideMeshObject Clone()
        {
            CollideMeshObject m = (CollideMeshObject)MemberwiseClone();

            m.Gao       = new GameObject("Collide Set");
            m.Gao.tag   = "Collide";
            m.subblocks = new ICollideGeometricElement[num_subblocks];
            for (uint i = 0; i < m.num_subblocks; i++)
            {
                if (subblocks[i] != null)
                {
                    m.subblocks[i] = subblocks[i].Clone(m);
                }
            }
            for (uint i = 0; i < m.num_subblocks; i++)
            {
                if (m.subblocks[i] != null)
                {
                    GameObject child = m.subblocks[i].Gao;
                    child.transform.SetParent(m.Gao.transform);
                    child.transform.localPosition = Vector3.zero;

                    /*if (m.subblocks[i] is CollideMeshElement) {
                     *  GameObject child = ((CollideMeshElement)m.subblocks[i]).Gao;
                     *  child.transform.SetParent(m.gao.transform);
                     *  child.transform.localPosition = Vector3.zero;
                     * } else if (m.subblocks[i] is CollideSpheresElement) {
                     *  GameObject child = ((CollideSpheresElement)m.subblocks[i]).Gao;
                     *  child.transform.SetParent(m.gao.transform);
                     *  child.transform.localPosition = Vector3.zero;
                     * } else if (m.subblocks[i] is CollideAlignedBoxesElement) {
                     *  GameObject child = ((CollideAlignedBoxesElement)m.subblocks[i]).Gao;
                     *  child.transform.SetParent(m.gao.transform);
                     *  child.transform.localPosition = Vector3.zero;
                     * }*/
                }
            }
            m.SetVisualsActive(false); // Invisible by default
            //m.gao.SetActive(false); // Invisible by default
            return(m);
        }