72 lines
2.6 KiB
C#
72 lines
2.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace VoxelIsometricRenderer
|
|
{
|
|
public static class PlayerObject
|
|
{
|
|
static int PositionX = 0;
|
|
static int PositionY = 0;
|
|
static int PositionZ = 0;
|
|
static float PrecisePositionX = 0.0f;
|
|
static float PrecisePositionY = 0.0f;
|
|
static float PrecisePositionZ = 0.0f;
|
|
public static int[] GetPos()
|
|
{
|
|
return new int[] { PositionX, PositionY, PositionZ };
|
|
}
|
|
public static float[] GetPresicePos()
|
|
{
|
|
return new float[] { PrecisePositionX, PrecisePositionY, PrecisePositionZ };
|
|
}
|
|
public static void SetPos(int[] pos, bool Reoccure)
|
|
{
|
|
PositionX = pos[0];
|
|
PositionY = pos[1];
|
|
PositionZ = pos[2];
|
|
if (Reoccure) SetPrecisePos(new float[] { pos[0], pos[1], pos[2] },false);
|
|
}
|
|
public static void SetPrecisePos(float[] pos, bool Reoccure)
|
|
{
|
|
PrecisePositionX = pos[0];
|
|
PrecisePositionY = pos[1];
|
|
PrecisePositionZ = pos[2];
|
|
if(Reoccure)SetPos(new int[] {(int)pos[0], (int)pos[1],(int)pos[2] },false);
|
|
}
|
|
public static void IncrementPos(int Axis, int Increment) { IncrementPos(Axis, Increment, true); }
|
|
public static void IncrementPos(int Axis, int Increment,bool Reoccure)
|
|
{
|
|
switch (Axis)
|
|
{
|
|
case 0: PositionX += Increment; break;
|
|
case 1: PositionY += Increment; break;
|
|
case 2: PositionZ += Increment; break;
|
|
}
|
|
if (Reoccure) SetPrecisePos(new float[] { (float)PositionX, (float)PositionY, (float)PositionZ },false);
|
|
}
|
|
public static void IncrementPrecisePos(int Axis, float Increment, bool Reoccure)
|
|
{
|
|
switch (Axis)
|
|
{
|
|
case 0: PrecisePositionX += Increment; break;
|
|
case 1: PrecisePositionY += Increment; break;
|
|
case 2: PrecisePositionZ += Increment; break;
|
|
}
|
|
if (Reoccure) SetPos(new int[] {(int)PrecisePositionX, (int)PrecisePositionY, (int)PrecisePositionZ },false);
|
|
}
|
|
public static void SetSpecificPos(int Axis, int Pos, bool Reoccure)
|
|
{
|
|
switch (Axis)
|
|
{
|
|
case 0:PositionX = Pos; break;
|
|
case 1: PositionY = Pos; break;
|
|
case 2: PositionZ = Pos; break;
|
|
}
|
|
if (Reoccure) SetPrecisePos(new float[] { PositionX, PositionY, PositionZ },false);
|
|
}
|
|
}
|
|
}
|