Пример #1
0
    // Token: 0x060004BE RID: 1214 RVA: 0x00019A80 File Offset: 0x00017C80
    private static List <BuildGridBackup.Point> FillCubicVolume(Transform containerTransform, Vector3 position, Vector3 containerSize)
    {
        Vector3[] array = new Vector3[]
        {
            new Vector3(1f, 1f, 1f),
            new Vector3(-1f, 1f, 1f),
            new Vector3(1f, -1f, 1f),
            new Vector3(1f, 1f, -1f)
        };
        List <BuildGridBackup.Point> list = new List <BuildGridBackup.Point>();
        Vector3 vector;

        vector.x = BuildGridBackup.PointPositionTotalFromDistance(BuildGridBackup.PositionOfCubeVertex(containerTransform, position, containerSize, array[0]), BuildGridBackup.PositionOfCubeVertex(containerTransform, position, containerSize, array[1]));
        vector.y = BuildGridBackup.PointPositionTotalFromDistance(BuildGridBackup.PositionOfCubeVertex(containerTransform, position, containerSize, array[0]), BuildGridBackup.PositionOfCubeVertex(containerTransform, position, containerSize, array[2]));
        vector.z = BuildGridBackup.PointPositionTotalFromDistance(BuildGridBackup.PositionOfCubeVertex(containerTransform, position, containerSize, array[0]), BuildGridBackup.PositionOfCubeVertex(containerTransform, position, containerSize, array[3]));
        int num = 0;

        while ((float)num < vector.x)
        {
            int num2 = 0;
            while ((float)num2 < vector.y)
            {
                int num3 = 0;
                while ((float)num3 < vector.z)
                {
                    list.Add(BuildGridBackup.PositionToPoint(BuildGridBackup.PositionOfCubeVertex(containerTransform, position, containerSize, new Vector3((float)num / vector.x * 2f - 1f, (float)num2 / vector.y * 2f - 1f, (float)num3 / vector.z * 2f - 1f))));
                    num3++;
                }
                num2++;
            }
            num++;
        }
        return(list);
    }
Пример #2
0
    // Token: 0x060004BD RID: 1213 RVA: 0x00019A30 File Offset: 0x00017C30
    public static Transform OverlapCheck(Transform containerTransform, Vector3 position, Vector3 containerSize)
    {
        List <BuildGridBackup.Point> list = BuildGridBackup.FillCubicVolume(containerTransform, position, containerSize);

        for (int i = 0; i < list.Count; i++)
        {
            if (BuildGridBackup.registeredPoints.ContainsKey(list[i]))
            {
                return(BuildGridBackup.registeredPoints[list[i]]);
            }
        }
        return(null);
    }
Пример #3
0
    // Token: 0x060004BC RID: 1212 RVA: 0x000199E0 File Offset: 0x00017BE0
    public static bool Remove(Transform containerTransform, Vector3 position, Vector3 containerSize)
    {
        List <BuildGridBackup.Point> list = BuildGridBackup.FillCubicVolume(containerTransform, position, containerSize);

        for (int i = 0; i < list.Count; i++)
        {
            if (BuildGridBackup.registeredPoints.ContainsKey(list[i]))
            {
                BuildGridBackup.registeredPoints.Remove(list[i]);
            }
        }
        return(true);
    }