コード例 #1
0
ファイル: VectorModule.cs プロジェクト: zoltan-erdokovy/Amps
        // SHOW POSITION VISUALIZATION //
        //
        private void ShowPositionVisualization()
        {
            Vector4 v;

            BaseProperty.eDataMode dm;

            if (value.dataMode == BaseProperty.eDataMode.Reference)
            {
                dm = value.reference.property.dataMode;
            }
            else
            {
                dm = value.dataMode;
            }

            switch (dm)
            {
            case VectorProperty.eDataMode.Constant:
                Handles.color = new Color(1f, 1f, 1f, 1f);
                v             = value.GetValue(ownerBlueprint.ownerEmitter.exampleInputParticleIndex);
                AmpsHelpers.DrawPositionHandle(v, 0.125f, weight.GetValue(ownerBlueprint.ownerEmitter.exampleInputParticleIndex));
                break;

            case VectorProperty.eDataMode.RandomConstant:
                if (value.coordSystemConversionMode != BaseProperty.eCoordSystemConversionMode.NoConversion)
                {
                    v = value.ConvertCoordinateSystem(value.randomMin, ownerBlueprint.ownerEmitter.exampleInputParticleIndex);
                }
                else
                {
                    v = value.randomMin;
                }
                Handles.color = new Color(1f, 1f, 1f, 1f);
                AmpsHelpers.DrawPositionHandle(v, 0.0625f, weight.GetValue(ownerBlueprint.ownerEmitter.exampleInputParticleIndex));

                if (value.coordSystemConversionMode != BaseProperty.eCoordSystemConversionMode.NoConversion)
                {
                    v = value.ConvertCoordinateSystem(value.randomMax, ownerBlueprint.ownerEmitter.exampleInputParticleIndex);
                }
                else
                {
                    v = value.randomMax;
                }
                Handles.color = new Color(1f, 1f, 1f, 1f);
                AmpsHelpers.DrawPositionHandle(v, 0.125f, weight.GetValue(ownerBlueprint.ownerEmitter.exampleInputParticleIndex));
                break;

            case VectorProperty.eDataMode.Curve:
                //Handles.color = Color.white;
                //v = value.GetValue(ownerEmitter.exampleInputParticleIndex);
                //AmpsHelpers.DrawCrossHandle(v, 0.125f);
                break;

            case VectorProperty.eDataMode.RandomCurve:
                // TODO: RandomCurve vis.
                break;
            }
        }