daily update on 20230525 by nitload youmu, ses00001 not solved
This commit is contained in:
@@ -43,7 +43,7 @@ namespace StgSharp.Geometries
|
||||
|
||||
internal override sealed void OnRender(uint tick)
|
||||
{
|
||||
uint nowTick = GameTimeLine.tickCounter._value;
|
||||
uint nowTick = ProgramTimeLine.tickCounter._value;
|
||||
this.vertex01.Position = RefOrigin.Position + movVertex01Operation(nowTick);
|
||||
this.vertex02.Position = RefOrigin.Position + movVertex02Operation(nowTick);
|
||||
this.vertex03.Position = 2 * center.Position - vertex01.Position;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using StgSharp.Math;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Drawing;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
@@ -9,7 +10,7 @@ using System.Text;
|
||||
|
||||
namespace StgSharp.Geometries
|
||||
{
|
||||
public unsafe class Point : INode<Point>
|
||||
public unsafe class Point : INode<Point>, INullable
|
||||
{
|
||||
internal vec3d* positionPtr;
|
||||
|
||||
@@ -46,12 +47,14 @@ namespace StgSharp.Geometries
|
||||
|
||||
public bool IsVertex => isVertex;
|
||||
|
||||
bool INullable.IsNull { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 刷新点的位置,即移动点。当该点是某个几何体的从动点时
|
||||
/// (即点坐标由几何体其他点约束或点参数已经在创建几何体时定义)
|
||||
/// 请不要再次进行定义,程序将自行忽略此处的代码。
|
||||
/// Update the coordinate of the point. If this is a moving point,
|
||||
/// (Points on sides or surface if other geometry items)
|
||||
/// please do not define any motion here, codes will be ignored by program
|
||||
/// </summary>
|
||||
/// <param name="tick">当前游戏刻</param>
|
||||
/// <param name="tick">Time passes since the program begin, counted by frames</param>
|
||||
public virtual void Update(uint tick) {}
|
||||
|
||||
public bool IsInGeometry(IPlainGeometry geo)
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace StgSharp.Geometries
|
||||
|
||||
internal override void OnRender(uint tick)
|
||||
{
|
||||
uint nowTick = GameTimeLine.tickCounter._value;
|
||||
uint nowTick = ProgramTimeLine.tickCounter._value;
|
||||
this.vertex01.Position = RefOrigin.Position + movVertex01Operation(nowTick);
|
||||
this.vertex02.Position = RefOrigin.Position + movVertex02Operation(nowTick);
|
||||
this.vertex03.Position = RefOrigin.Position + movVertex03Operation(nowTick);
|
||||
|
||||
@@ -1 +1 @@
|
||||
using Steamworks;
using StgSharp.Control;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Text;
namespace StgSharp.Geometries
{
public unsafe class Polygon5 : IPlainGeometry
{
internal Polygon5VertexArray vertexPtrAyyar;
internal Point _refOrigin;
internal readonly Point vertex1;
internal readonly Point vertex2;
internal readonly Point vertex3;
internal readonly Point vertex4;
internal readonly Point vertex5;
internal readonly int _vertexCount;
public override Point RefPoint01 => vertex1;
public override Point RefPoint02 => vertex2;
public override Point RefPoint03 => vertex3;
internal GetLocationHandler movP01Operation = default;
internal GetLocationHandler movP02Operation = default;
internal GetLocationHandler movP03Operation = default;
internal GetLocationHandler movP04Operation = default;
internal GetLocationHandler movP05Operation = default;
public GetLocationHandler MovP01Operation { get => movP01Operation; }
public GetLocationHandler MovP02Operation { get => movP02Operation; }
public GetLocationHandler MovP03Operation { get => movP03Operation; }
public GetLocationHandler MovP04Operation { get => movP04Operation; }
public GetLocationHandler MovP05Operation { get => movP05Operation; }
public unsafe Polygon5()
{
vertexPtrAyyar = internalIO.initPolygon5Vertex();
vertex1 = new Point(vertexPtrAyyar.vertex1);
vertex2 = new Point(vertexPtrAyyar.vertex2);
vertex3 = new Point(vertexPtrAyyar.vertex3);
vertex4 = new Point(vertexPtrAyyar.vertex4);
vertex5 = new Point(vertexPtrAyyar.vertex5);
}
public virtual vec3d movPoint01(uint tick)=> movP01Operation.Invoke(GameTimeLine.tickCounter._value);
public virtual vec3d movPoint02(uint tick)=> movP02Operation.Invoke(GameTimeLine.tickCounter._value);
public virtual vec3d movPoint03(uint tick)=> movP03Operation.Invoke(GameTimeLine.tickCounter._value);
public virtual vec3d movPoint04(uint tick)=> movP04Operation.Invoke(GameTimeLine.tickCounter._value);
public virtual vec3d movPoint05(uint tick)=> movP05Operation.Invoke(GameTimeLine.tickCounter._value);
internal override void OnRender(uint tick)
{
uint nowTick = tick - BornTime;
vertex1.Position = RefOrigin.Position + movPoint01(nowTick);
vertex2.Position = RefOrigin.Position + movPoint02(nowTick);
vertex3.Position = RefOrigin.Position + movPoint03(nowTick);
vertex4.Position = RefOrigin.Position + movPoint04(nowTick);
vertex5.Position = RefOrigin.Position + movPoint05(nowTick);
}
public override Line[] GetAllSides()
{
return new Line[5]
{
new Line(vertex1,vertex2),
new Line(vertex2,vertex3),
new Line(vertex3,vertex4),
new Line(vertex4,vertex5),
new Line(vertex5,vertex1)
};
}
public override Plain GetPlain()
{
return new Plain(vertex1,vertex2,vertex3);
}
}
}
|
||||
using Steamworks;
using StgSharp.Control;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Text;
namespace StgSharp.Geometries
{
public unsafe class Polygon5 : IPlainGeometry
{
internal Polygon5VertexArray vertexPtrAyyar;
internal Point _refOrigin;
internal readonly Point vertex1;
internal readonly Point vertex2;
internal readonly Point vertex3;
internal readonly Point vertex4;
internal readonly Point vertex5;
internal readonly int _vertexCount;
public override Point RefPoint01 => vertex1;
public override Point RefPoint02 => vertex2;
public override Point RefPoint03 => vertex3;
internal GetLocationHandler movP01Operation = default;
internal GetLocationHandler movP02Operation = default;
internal GetLocationHandler movP03Operation = default;
internal GetLocationHandler movP04Operation = default;
internal GetLocationHandler movP05Operation = default;
public GetLocationHandler MovP01Operation { get => movP01Operation; }
public GetLocationHandler MovP02Operation { get => movP02Operation; }
public GetLocationHandler MovP03Operation { get => movP03Operation; }
public GetLocationHandler MovP04Operation { get => movP04Operation; }
public GetLocationHandler MovP05Operation { get => movP05Operation; }
public unsafe Polygon5()
{
vertexPtrAyyar = internalIO.initPolygon5Vertex();
vertex1 = new Point(vertexPtrAyyar.vertex1);
vertex2 = new Point(vertexPtrAyyar.vertex2);
vertex3 = new Point(vertexPtrAyyar.vertex3);
vertex4 = new Point(vertexPtrAyyar.vertex4);
vertex5 = new Point(vertexPtrAyyar.vertex5);
}
public virtual vec3d movPoint01(uint tick)=> movP01Operation.Invoke(ProgramTimeLine.tickCounter._value);
public virtual vec3d movPoint02(uint tick)=> movP02Operation.Invoke(ProgramTimeLine.tickCounter._value);
public virtual vec3d movPoint03(uint tick)=> movP03Operation.Invoke(ProgramTimeLine.tickCounter._value);
public virtual vec3d movPoint04(uint tick)=> movP04Operation.Invoke(ProgramTimeLine.tickCounter._value);
public virtual vec3d movPoint05(uint tick)=> movP05Operation.Invoke(ProgramTimeLine.tickCounter._value);
internal override void OnRender(uint tick)
{
uint nowTick = tick - BornTime;
vertex1.Position = RefOrigin.Position + movPoint01(nowTick);
vertex2.Position = RefOrigin.Position + movPoint02(nowTick);
vertex3.Position = RefOrigin.Position + movPoint03(nowTick);
vertex4.Position = RefOrigin.Position + movPoint04(nowTick);
vertex5.Position = RefOrigin.Position + movPoint05(nowTick);
}
public override Line[] GetAllSides()
{
return new Line[5]
{
new Line(vertex1,vertex2),
new Line(vertex2,vertex3),
new Line(vertex3,vertex4),
new Line(vertex4,vertex5),
new Line(vertex5,vertex1)
};
}
public override Plain GetPlain()
{
return new Plain(vertex1,vertex2,vertex3);
}
}
}
|
||||
@@ -42,32 +42,32 @@ namespace StgSharp.Geometries
|
||||
|
||||
public virtual vec3d movPoint01(uint tick)
|
||||
{
|
||||
return movP01Operation.Invoke(GameTimeLine.tickCounter._value);
|
||||
return movP01Operation.Invoke(ProgramTimeLine.tickCounter._value);
|
||||
}
|
||||
|
||||
public virtual vec3d movPoint02(uint tick)
|
||||
{
|
||||
return movP02Operation.Invoke(GameTimeLine.tickCounter._value);
|
||||
return movP02Operation.Invoke(ProgramTimeLine.tickCounter._value);
|
||||
}
|
||||
|
||||
public virtual vec3d movPoint03(uint tick)
|
||||
{
|
||||
return movP03Operation.Invoke(GameTimeLine.tickCounter._value);
|
||||
return movP03Operation.Invoke(ProgramTimeLine.tickCounter._value);
|
||||
}
|
||||
|
||||
public virtual vec3d movPoint04(uint tick)
|
||||
{
|
||||
return movP04Operation.Invoke(GameTimeLine.tickCounter._value);
|
||||
return movP04Operation.Invoke(ProgramTimeLine.tickCounter._value);
|
||||
}
|
||||
|
||||
public virtual vec3d movPoint05(uint tick)
|
||||
{
|
||||
return movP05Operation.Invoke(GameTimeLine.tickCounter._value);
|
||||
return movP05Operation.Invoke(ProgramTimeLine.tickCounter._value);
|
||||
}
|
||||
|
||||
public virtual vec3d movPoint06(uint tick)
|
||||
{
|
||||
return movP06Operation.Invoke(GameTimeLine.tickCounter._value);
|
||||
return movP06Operation.Invoke(ProgramTimeLine.tickCounter._value);
|
||||
}
|
||||
|
||||
internal override void OnRender(uint tick)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace StgSharp
|
||||
{
|
||||
public class Square
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using StgSharp;
|
||||
using StgSharp.Control;
|
||||
using StgSharp.Math;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -40,6 +41,25 @@ namespace StgSharp.Geometries
|
||||
this.vertex1 = new Point(vertexArray.vertex1Ptr);
|
||||
this.vertex2 = new Point(vertexArray.vertex2Ptr);
|
||||
this.vertex3 = new Point(vertexArray.vertex3Ptr);
|
||||
|
||||
Console.WriteLine("vertex ok");
|
||||
Console.WriteLine(ProgramTimeLine._currentPool);
|
||||
/**/
|
||||
ProgramTimeLine._currentPool.pointContainer.Add(vertex1);
|
||||
ProgramTimeLine._currentPool.pointContainer.Add(vertex2);
|
||||
ProgramTimeLine._currentPool.pointContainer.Add(vertex3);
|
||||
/**/
|
||||
}
|
||||
|
||||
public Triangle(
|
||||
vec3d vertex01,
|
||||
vec3d vertex02,
|
||||
vec3d vertex03
|
||||
)
|
||||
{
|
||||
vertex1.Position = vertex01;
|
||||
vertex1.Position = vertex01;
|
||||
vertex1.Position = vertex01;
|
||||
}
|
||||
|
||||
internal override sealed void OnRender(uint tick)
|
||||
|
||||
Reference in New Issue
Block a user