コード例 #1
0
ファイル: Graphics.cs プロジェクト: slagusev/FusionGameEngine
        public void RenderPolygonB(ScriptThread thread)
        {
            int arrayIndex = thread.GetArrayParameter(0);

            if (arrayIndex == 0)
            {
                DebugLogger.WriteLog((thread.Process.Url != null && thread.Process.Url != "" ? thread.Process.Url : "A script") + " called RenderPolygon with an invalid object.", LogAlertLevel.Error);
                return;
            }
            int arrayLength = thread.GetArrayLength(arrayIndex);

            Vertex[] vertexs = new Vertex[(arrayLength / 3)];
            for (int i = 0; i < (arrayLength / 3); i++)
            {
                vertexs[i] = new Vertex(thread.GetFloatArrayElement(arrayIndex, (i * 3)),
                                        thread.GetFloatArrayElement(arrayIndex, (i * 3) + 1),
                                        thread.GetFloatArrayElement(arrayIndex, (i * 3) + 2));
            }

            GraphicsManager.RenderPolygon(vertexs, thread.GetBooleanParameter(1));
        }