예제 #1
0
 public static float GetRippleHeight(RippleMode rippleMode, Vector3 worldPos)
 {
     if ((rippleMode & RippleMode.Max4) != 0)
     {
         return(GetRippleHeight(worldPos));
     }
     return(0);
 }
예제 #2
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            switch (GameObj.baseData.mode)
            {
            case 1:
                waveMode = new WaveMode
                {
                    baseData      = GameObj.baseData,
                    transformData = GameObj.transformData,
                    freq          = GameObj.freq,
                    magn          = GameObj.magn,
                    time          = GameObj.time,
                    scalej        = GameObj.transformData.size,
                    vector        = float3.zero,
                };
                jobHandle = waveMode.Schedule(this, inputDeps);
                break;

            case 2:
                rippleMode = new RippleMode
                {
                    baseData      = GameObj.baseData,
                    transformData = GameObj.transformData,
                    freq          = GameObj.freq,
                    magn          = GameObj.magn,
                    time          = GameObj.time,
                    scalej        = GameObj.transformData.size,
                    vector        = float3.zero
                };
                jobHandle = rippleMode.Schedule(this, inputDeps);
                break;

            case 3:
                cylinderMode = new CylinderMode
                {
                    baseData      = GameObj.baseData,
                    transformData = GameObj.transformData,
                    freq          = GameObj.freq,
                    magn          = GameObj.magn,
                    time          = GameObj.time,
                    scalej        = GameObj.transformData.size,
                    vector        = float3.zero
                };
                jobHandle = cylinderMode.Schedule(this, inputDeps);
                break;

            case 4:
                sphereMode = new SphereMode
                {
                    baseData      = GameObj.baseData,
                    transformData = GameObj.transformData,
                    freq          = GameObj.freq,
                    magn          = GameObj.magn,
                    time          = GameObj.time,
                    scalej        = GameObj.transformData.size,
                    vector        = float3.zero
                };
                jobHandle = sphereMode.Schedule(this, inputDeps);
                break;

            case 5:
                torusMode = new TorusMode
                {
                    baseData      = GameObj.baseData,
                    transformData = GameObj.transformData,
                    freq          = GameObj.freq,
                    magn          = GameObj.magn,
                    time          = GameObj.time,
                    scalej        = GameObj.transformData.size,
                    vector        = float3.zero
                };
                jobHandle = torusMode.Schedule(this, inputDeps);
                break;

            default:
                defaultMode = new DefaultMode
                {
                    scalej = 1f,
                    vector = float3.zero
                };
                jobHandle = defaultMode.Schedule(this, inputDeps);
                break;
            }
            return(jobHandle);
        }