Every Unity.Mathematics using, alias and qualified name under Assets\Scripts and tools now names CultMath. The nine `using static ...noise;` lines are gone: snoise lives on CultMath's math. UnityExtensions loses float4.ToColor and Color.ToFloat4, which duplicate the bridge's ToColor and ToCultMath; the float3 colour pair stays because the bridge has none. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
65 lines
No EOL
1.8 KiB
C#
65 lines
No EOL
1.8 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UniRx;
|
|
using CultMath;
|
|
using static CultMath.math;
|
|
using UnityEngine;
|
|
using float2 = CultMath.float2;
|
|
|
|
public class HullCollider : MonoBehaviour
|
|
{
|
|
public Subject<HullHitEventArgs> Hit = new Subject<HullHitEventArgs>();
|
|
public Subject<HullSplashEventArgs> Splash = new Subject<HullSplashEventArgs>();
|
|
|
|
public Entity Entity { get; set; }
|
|
|
|
public void SendHit(float damage, float penetration, float spread, DamageType damageType, Entity source, Vector2 texCoord, Vector3 direction)
|
|
{
|
|
Hit.OnNext(new HullHitEventArgs
|
|
{
|
|
Damage = damage,
|
|
Penetration = penetration,
|
|
Spread = spread,
|
|
DamageType = damageType,
|
|
Source = source,
|
|
TexCoord = texCoord,
|
|
Direction = direction
|
|
});
|
|
}
|
|
|
|
public void SendSplash(float damage, DamageType damageType, Entity source, Vector3 direction)
|
|
{
|
|
Splash.OnNext(new HullSplashEventArgs
|
|
{
|
|
Damage = damage,
|
|
DamageType = damageType,
|
|
Source = source,
|
|
Direction = direction
|
|
});
|
|
}
|
|
|
|
private void OnCollisionEnter(Collision other)
|
|
{
|
|
Entity.Velocity += ((float3) other.impulse).xz / Time.deltaTime;
|
|
}
|
|
|
|
public class HullHitEventArgs
|
|
{
|
|
public float Damage;
|
|
public float Penetration;
|
|
public float Spread;
|
|
public DamageType DamageType;
|
|
public Entity Source;
|
|
public float2 TexCoord;
|
|
public float3 Direction;
|
|
}
|
|
|
|
public class HullSplashEventArgs
|
|
{
|
|
public float Damage;
|
|
public DamageType DamageType;
|
|
public Entity Source;
|
|
public float3 Direction;
|
|
}
|
|
} |