Removed fixed statement when accessing fixed fields.

This commit is contained in:
hondacrx
2019-12-07 11:45:28 -05:00
parent 9c83bc7e82
commit 56819e632d
6 changed files with 39 additions and 63 deletions
@@ -131,11 +131,8 @@ namespace Game.DataStorage
unsafe
{
fixed (float* b = areaTriggerTemplate.DefaultDatas.Data)
{
for (byte i = 0; i < SharedConst.MaxAreatriggerEntityData; ++i)
b[i] = templates.Read<float>(3 + i);
}
for (byte i = 0; i < SharedConst.MaxAreatriggerEntityData; ++i)
areaTriggerTemplate.DefaultDatas.Data[i] = templates.Read<float>(3 + i);
}
areaTriggerTemplate.ScriptId = Global.ObjectMgr.GetScriptId(templates.Read<string>(9));
@@ -314,12 +314,9 @@ namespace Game.Entities
unsafe
{
fixed (float* ptr = GetTemplate().BoxDatas.Extents)
{
extentsX = ptr[0];
extentsY = ptr[1];
extentsZ = ptr[2];
}
extentsX = GetTemplate().BoxDatas.Extents[0];
extentsY = GetTemplate().BoxDatas.Extents[1];
extentsZ = GetTemplate().BoxDatas.Extents[2];
}
var check = new AnyUnitInObjectRangeCheck(this, GetTemplate().MaxSearchRadius, false);
@@ -182,39 +182,35 @@ namespace Game.Entities
switch (TriggerType)
{
case AreaTriggerTypes.Sphere:
{
MaxSearchRadius = Math.Max(SphereDatas.Radius, SphereDatas.RadiusTarget);
break;
}
{
MaxSearchRadius = Math.Max(SphereDatas.Radius, SphereDatas.RadiusTarget);
break;
}
case AreaTriggerTypes.Box:
{
fixed (float* ptr = BoxDatas.Extents)
{
MaxSearchRadius = (float) Math.Sqrt(ptr[0] * ptr[0] / 4 + ptr[1] * ptr[1] / 4);
MaxSearchRadius = (float)Math.Sqrt(BoxDatas.Extents[0] * BoxDatas.Extents[0] / 4 + BoxDatas.Extents[1] * BoxDatas.Extents[1] / 4);
break;
}
break;
}
case AreaTriggerTypes.Polygon:
{
if (PolygonDatas.Height <= 0.0f)
PolygonDatas.Height = 1.0f;
foreach (Vector2 vertice in PolygonVertices)
{
float pointDist = vertice.GetLength();
if (PolygonDatas.Height <= 0.0f)
PolygonDatas.Height = 1.0f;
if (pointDist > MaxSearchRadius)
MaxSearchRadius = pointDist;
foreach (Vector2 vertice in PolygonVertices)
{
float pointDist = vertice.GetLength();
if (pointDist > MaxSearchRadius)
MaxSearchRadius = pointDist;
}
break;
}
break;
}
case AreaTriggerTypes.Cylinder:
{
MaxSearchRadius = CylinderDatas.Radius;
break;
}
{
MaxSearchRadius = CylinderDatas.Radius;
break;
}
default:
break;
}
@@ -541,12 +541,10 @@ namespace Game.Entities
unsafe
{
fixed (int* ptr = Raw.data)
{
for (int i = 0; i < SharedConst.MaxGOData; i++)
stats.Data[i] = ptr[i];
}
for (int i = 0; i < SharedConst.MaxGOData; i++)
stats.Data[i] = Raw.data[i];
}
stats.RequiredLevel = (uint)RequiredLevel;
QueryData.Stats = stats;
+6 -12
View File
@@ -509,19 +509,13 @@ namespace Game.Entities
{
unsafe
{
fixed (float* ptr = areaTriggerTemplate.BoxDatas.Extents)
{
data.WriteFloat(ptr[0]);
data.WriteFloat(ptr[1]);
data.WriteFloat(ptr[2]);
}
data.WriteFloat(areaTriggerTemplate.BoxDatas.Extents[0]);
data.WriteFloat(areaTriggerTemplate.BoxDatas.Extents[1]);
data.WriteFloat(areaTriggerTemplate.BoxDatas.Extents[2]);
fixed (float* ptr = areaTriggerTemplate.BoxDatas.ExtentsTarget)
{
data.WriteFloat(ptr[0]);
data.WriteFloat(ptr[1]);
data.WriteFloat(ptr[2]);
}
data.WriteFloat(areaTriggerTemplate.BoxDatas.ExtentsTarget[0]);
data.WriteFloat(areaTriggerTemplate.BoxDatas.ExtentsTarget[1]);
data.WriteFloat(areaTriggerTemplate.BoxDatas.ExtentsTarget[2]);
}
}
+4 -10
View File
@@ -3656,11 +3656,8 @@ namespace Game
unsafe
{
fixed (int* b = go.Raw.data)
{
for (byte x = 0; x < db2go.PropValue.Length; ++x)
b[x] = db2go.PropValue[x];
}
for (byte x = 0; x < db2go.PropValue.Length; ++x)
go.Raw.data[x] = db2go.PropValue[x];
}
go.RequiredLevel = 0;
@@ -3702,11 +3699,8 @@ namespace Game
unsafe
{
fixed (int* b = got.Raw.data)
{
for (byte x = 0; x < SharedConst.MaxGOData; ++x)
b[x] = result.Read<int>(8 + x);
}
for (byte x = 0; x < SharedConst.MaxGOData; ++x)
got.Raw.data[x] = result.Read<int>(8 + x);
}
got.RequiredLevel = result.Read<int>(42);