Exemplo n.º 1
0
        public override BlockPlacementData GetDigValue(SubsystemTerrain subsystemTerrain, ComponentMiner componentMiner, int value, int toolValue, TerrainRaycastResult raycastResult)
        {
            BlockPlacementData result = default(BlockPlacementData);

            result.CellFace = raycastResult.CellFace;
            return(result);
        }
Exemplo n.º 2
0
        public static BlockPlacementData GetPlacementValue(SubsystemTerrain subsystemTerrain, ComponentMiner componentMiner, int value, TerrainRaycastResult raycastResult)
        {
            BlockPlacementData result = default(BlockPlacementData);
            int     realdata          = 0;//位置修正
            Vector3 forward           = Matrix.CreateFromQuaternion(componentMiner.ComponentCreature.ComponentCreatureModel.EyeRotation).Forward;
            float   num  = Vector3.Dot(forward, Vector3.UnitZ);
            float   num2 = Vector3.Dot(forward, Vector3.UnitX);
            float   num3 = Vector3.Dot(forward, -Vector3.UnitZ);
            float   num4 = Vector3.Dot(forward, -Vector3.UnitX);

            if (num == MathUtils.Max(num, num2, num3, num4))
            {
                realdata = 2;
            }
            else if (num2 == MathUtils.Max(num, num2, num3, num4))
            {
                realdata = 3;
            }
            else if (num3 == MathUtils.Max(num, num2, num3, num4))
            {
                realdata = 0;
            }
            else if (num4 == MathUtils.Max(num, num2, num3, num4))
            {
                realdata = 1;
            }
            result.Value    = ILibrary.setDirection(value, realdata);//4*4表示方块位置,朝向
            result.CellFace = raycastResult.CellFace;
            return(result);
        }
Exemplo n.º 3
0
        public virtual BlockPlacementData GetPlacementValue(SubsystemTerrain subsystemTerrain, ComponentMiner componentMiner, int value, TerrainRaycastResult raycastResult)
        {
            BlockPlacementData result = default;

            result.Value    = value;
            result.CellFace = raycastResult.CellFace;
            return(result);
        }