示例#1
0
        private (List <TriangleShape> floors, List <TriangleShape> walls) GetTriShapes(int numSides)
        {
            double dist       = 850;
            double radius     = 300;
            double xOffset    = 1300;
            double zOffset    = 0;
            double angleScale = 256;

            double globalTimerAngle;

            if (Config.Stream != null)
            {
                uint   globalTimer       = Config.Stream.GetUInt32(MiscConfig.GlobalTimerAddress);
                ushort globalTimerUShort = (ushort)(globalTimer % 65536);
                globalTimerAngle = -1 * globalTimerUShort * angleScale;
            }
            else
            {
                globalTimerAngle = 0;
            }

            int    index = numSides - SHAPE_MIN_SIDES;
            double x     = (index % 3) * dist + xOffset;
            double z     = (index / 3) * dist + zOffset;

            return(TriangleUtilities.GetWallFoorTrianglesForShape(numSides, radius, globalTimerAngle, x, z));
        }