daily update on 20230525 by nitload youmu, ses00001 not solved

This commit is contained in:
Nitload
2023-05-27 03:34:38 +08:00
parent e7261fbdf6
commit 384e8c8ad0
83 changed files with 2815 additions and 1946 deletions
+701
View File
@@ -0,0 +1,701 @@
<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram MajorVersion="1" MinorVersion="1">
<Class Name="StgSharp.Properties.Resources" Collapsed="true">
<Position X="44.75" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAABEAAAAQAAAAAAAAAAAAAAAIA=</HashCode>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.internalIO" Collapsed="true">
<Position X="48.25" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAgAAAAAAAAAAAAAAAAAAABAAEACAAAAAACAAAAAA=</HashCode>
<FileName>Control\IO\GeometryIO.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Instruction" Collapsed="true">
<Position X="46.5" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Control\Add.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometry" Collapsed="true">
<Position X="51.75" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Control\Geoemtry.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.IEntity" Collapsed="true">
<Position X="14" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AACABAAAIQAAAAQAACIAAQAAAAAAACCgAAIAgAAAYQA=</HashCode>
<FileName>Entities\IEntity.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Launcher&lt;T&gt;" Collapsed="true">
<Position X="20.75" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AEAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAQAAAEQAAA=</HashCode>
<FileName>Entities\Launcher.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Partical" Collapsed="true">
<Position X="16.25" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAA=</HashCode>
<FileName>Entities\Partical.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Player" Collapsed="true">
<Position X="18.5" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAA=</HashCode>
<FileName>Entities\Player.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Graphic" Collapsed="true">
<Position X="44.75" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Graphics\Graphic.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.INode&lt;T&gt;" Collapsed="true">
<Position X="19.75" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAoAAAAABAAAAAAACAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Logic\ContainerNode.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.ContainerNode&lt;T&gt;" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="44.75" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>BhAAAAAAAAAAAgAAAAAABAAAAAAAAAAoAAAgAAAAAAA=</HashCode>
<FileName>Logic\ContainerNode.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Class>
<Class Name="StgSharp.Counter&lt;T&gt;" Collapsed="true">
<Position X="48.25" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>ABIAAAAAAAAABAQAAAAAAAAAAAAAAAEAAgEgAAAAAAY=</HashCode>
<FileName>Logic\Counter.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.LinkedList&lt;T&gt;" Collapsed="true">
<Position X="5" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAIIAAABAIAQAQAAAAAABAAAAAgAAAAEAAACAAAAAAA=</HashCode>
<FileName>Logic\LinkedList.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Class Name="StgSharp.Pool" Collapsed="true">
<Position X="7.25" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>ACAAAAABAwAYAAAAAQAAAAAAAAABAgAAAAAQIIAAEAA=</HashCode>
<FileName>Logic\Pool.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Sensor&lt;T&gt;" Collapsed="true">
<Position X="46.5" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAEAAAACAYCEAAAAAQAAAAAAAAAABAAAAAAA=</HashCode>
<FileName>Logic\Sensor.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Control.ProgramTimeLine" Collapsed="true">
<Position X="41.25" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAACAAAAAAAQAAAAAAAAAAAAEAAAAABAIAAAIAA=</HashCode>
<FileName>Control\ProgramTimeLine.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Control.Remove" Collapsed="true">
<Position X="43" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Control\Remove.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Control.TimelineBlock" Collapsed="true">
<Position X="0.5" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Control\TimelineBlock.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Entities.BehaviorArgs" Collapsed="true">
<Position X="41.25" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Entities\BehaviorArgs.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Entities.EliteEnemy" Collapsed="true">
<Position X="9.5" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AABAICAAAAAAAAAEAAAAFAAAAEAAACAAAAAIIAEAAAA=</HashCode>
<FileName>Entities\EliteEnemy.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Entities.Enemy" Collapsed="true">
<Position X="11.75" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AABAICAAAAAAAAAEAAAAFAAAAEAAACAAAAAIAAAAAAA=</HashCode>
<FileName>Entities\Enemy.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Entities.EntityPartical" Collapsed="true">
<Position X="14" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Entities\EntityPartical.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.Arc" Collapsed="true">
<Position X="37.75" Y="2" Width="1.5" />
<TypeIdentifier>
<HashCode>AAgAACoAAAAEAAAAAGAAAAABAAAAAAAAAAEC4CIAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\Arc.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.Circle" Collapsed="true">
<Position X="23" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AAgAACgCAAAEAAAAACAAAAABAAAAAAAAAAAC4CIiAAA=</HashCode>
<FileName>Geometries\PlainGeometry\Circle.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.ToUpperDimensionException" Collapsed="true">
<Position X="48.25" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\GemoryException.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.UnusedVertexException" Collapsed="true">
<Position X="50" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\GemoryException.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.GeometryOperation" Collapsed="true">
<Position X="41.25" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\GeometryOperation.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.IPlainGeometry" Collapsed="true">
<Position X="31" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAgIAAQAAAAAAAAAAAAAAAAAAAgAAAAA5CIAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\IPlainGeometry.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.Line" Collapsed="true">
<Position X="36.5" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AgAAAAgAAAAAAAAAAEAAAAAAAAAACQAAAAUA4CIACAA=</HashCode>
<FileName>Geometries\PlainGeometry\Line.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.Parallelogram">
<Position X="27.5" Y="4.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AIgCAAAAAAAAAAAAAAABAIABgAAAAAAAAAAC4AIAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\Parallelogram.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.Plain" Collapsed="true">
<Position X="51.75" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>CAAAAAAAAMAAAAAAAAAAAAIAAAAAAAAEAAAAAAAAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\Plain.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.Point" Collapsed="true">
<Position X="2.75" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAQAAAIAAAAAAAAgAMAAAAAAAAAAAQAAAAEAAAIAYAE=</HashCode>
<FileName>Geometries\PlainGeometry\Point.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Class Name="StgSharp.Geometries.Polygon4" Collapsed="true">
<Position X="26.5" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AAQAACoAAAAAABAIAACBAAAAgIGEAgQAAEAA4CIBAAA=</HashCode>
<FileName>Geometries\PlainGeometry\Polygon4.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.Polygon5" Collapsed="true">
<Position X="29.75" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AQSAFwn4AAAAAAAAAAAAAAAAAAAAAIAAgAAA4CIAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\Polygon5.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.Polygon6" Collapsed="true">
<Position X="32" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AQSgFwn8AAAAAAAAAAAAAAAAAAAAAIAAAAAA4CIAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\Polygon6.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.Rectangle">
<Position X="24" Y="4.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAgCAAAAAAAAAAAAAAABAAAAgAAAAAAAAAAA4AIAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\Rectangle.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Geometries.Triangle" Collapsed="true">
<Position X="34.25" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAjgAAAAAAAAAAAAAIQBgIAAIgAAQEAA4CIAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\Triangle.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Graphics.GLFW" Collapsed="true">
<Position X="43" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>kv4/2/e/nff/9Wv3j///7f/8/3/v/v//P///16vsf3o=</HashCode>
<FileName>Graphics\GL\GLconst.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Logic.LinkedListEnumrator&lt;T&gt;" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="50" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAACAAAAAAAAAAQEAAAAAAgAAAAIAAAAA=</HashCode>
<FileName>Logic\LinkedListEnumrator.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Class>
<Class Name="StgSharp.Math.Cordination" Collapsed="true">
<Position X="46.5" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Math\Linear\Cordination.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Math.Vector" Collapsed="true">
<Position X="51.75" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>wAAAAAAAAAAAAACABAAAAAAAAAAAAAAAAACAAAAAAAA=</HashCode>
<FileName>Math\Linear\Vector.Det.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Math.VectorCalc" Collapsed="true">
<Position X="41.25" Y="3.5" Width="1.5" />
<TypeIdentifier>
<HashCode>QAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Math\Linear\Vector.Multiple.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Math.Calc" Collapsed="true">
<Position X="43" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAASAQAIEEAkAAAQwAAFAAAAAA2AAAAgAAAGAgIQAgA=</HashCode>
<FileName>Math\Scalar\ACos.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Math.Function" Collapsed="true">
<Position X="50" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Math\Scalar\Function.cs</FileName>
</TypeIdentifier>
</Class>
<Struct Name="StgSharp.Control.GraphicIOPack" Collapsed="true">
<Position X="48.25" Y="7.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA=</HashCode>
<FileName>Control\IO\IOpackage.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Geometries.Polygon4VertexArray" Collapsed="true">
<Position X="41.25" Y="9.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAADwIAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Geometries\GL\Polygon4VertexArray.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Geometries.Polygon5VertexArray" Collapsed="true">
<Position X="43" Y="9.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAD4IAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAIA=</HashCode>
<FileName>Geometries\GL\Polygon5VertexArray.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Geometries.triangleVertexArray" Collapsed="true">
<Position X="44.75" Y="9.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQA=</HashCode>
<FileName>Geometries\GL\TiangleArray.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Geometries.triangleVertexOrder" Collapsed="true">
<Position X="46.5" Y="9.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Geometries\GL\TiangleArray.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWcontext" Collapsed="true">
<Position X="50" Y="5.75" Width="1.5" />
<TypeIdentifier>
<HashCode>EQAAIgAAAAAAAAIAAAaABEAAACAAEABAAAAABAEkIIA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWvidmode" Collapsed="true">
<Position X="44.75" Y="7.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAQAQCAIAAAAAAAAAAAAAMAAAAAAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWgammaramp" Collapsed="true">
<Position X="48.25" Y="6.75" Width="1.5" />
<TypeIdentifier>
<HashCode>EAAAAAAAAAAAAAAAAIIAAAAAAAAAAAAAAAAAAAAAAgA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWimage" Collapsed="true">
<Position X="50" Y="6.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAUAQAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWgamepadstate" Collapsed="true">
<Position X="46.5" Y="6.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAIAEAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWallocator" Collapsed="true">
<Position X="48.25" Y="5.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAQAAAAAEAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAQA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWmonitor" Collapsed="true">
<Position X="41.25" Y="7.75" Width="1.5" />
<TypeIdentifier>
<HashCode>IQAAAAAAAAAAAAEAAQAAAAAAQIAEACAIAAAAAAAAAAE=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics._GLFWwindow" Collapsed="true">
<Position X="41.25" Y="5.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AABCAAAEMAAIAAEAGGAAAEABhAEAAAABAKEQICIAEBA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWcursor" Collapsed="true">
<Position X="41.25" Y="6.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWerror" Collapsed="true">
<Position X="43" Y="6.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAIAAAAAAAIAAAAAAAAAAAAAIAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWinitconfig" Collapsed="true">
<Position X="51.75" Y="6.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAgAAAAQAAAI=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWwndconfig" Collapsed="true">
<Position X="46.5" Y="7.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AACAAACGQAEAAAQgQEAAAAAABAEAAACBiCAACAICAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWctxconfig" Collapsed="true">
<Position X="51.75" Y="5.75" Width="1.5" />
<TypeIdentifier>
<HashCode>EAAAIgAAAAAACAIAAACAAAAAACAAEAAAAAAABAAAMAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWfbconfig" Collapsed="true">
<Position X="44.75" Y="6.75" Width="1.5" />
<TypeIdentifier>
<HashCode>QAACAAAAIABAAAAAAiAAAAAwADAAAAADAMACAQAAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics._GLFWlibrary" Collapsed="true">
<Position X="44.75" Y="4.75" Width="1.5" />
<TypeIdentifier>
<HashCode>QJBAAAAIAFEABAAAAAQAAAAAgAAAAAQAIAAAAAgRCAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics._GLFWmapelement" Collapsed="true">
<Position X="46.5" Y="4.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAABAEAAAQAAAAABAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics._GLFWmapping" Collapsed="true">
<Position X="48.25" Y="4.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAIAEAAAAEAAAEAAAAAAAAAAAAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics._GLFWjoystick" Collapsed="true">
<Position X="43" Y="4.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAQAAABAAAAAAAEAIQEEAAAEAAAEAAAAAEAAACAAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics._GLFWtls" Collapsed="true">
<Position X="51.75" Y="4.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.GLFWplatform" Collapsed="true">
<Position X="43" Y="7.75" Width="1.5" />
<TypeIdentifier>
<HashCode>VECARASAUAACmgkQQMACSQAUAQAGUBoMBkWVmggNTFg=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics._GLFWmutex" Collapsed="true">
<Position X="50" Y="4.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.VkExtensionProperties" Collapsed="true">
<Position X="43" Y="10.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics._GLFWerror" Collapsed="true">
<Position X="41.25" Y="4.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAIAAAAAAAIAAAAAAAAAAAAAIAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.uintptr_t" Collapsed="true">
<Position X="48.25" Y="9.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAEAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Graphics\GL\GLstruts.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Graphics.Window" Collapsed="true">
<Position X="44.75" Y="10.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAUAQAAAAAAAAAAEAAAAAAAAAAAAAAA=</HashCode>
<FileName>Graphics\window.cs</FileName>
</TypeIdentifier>
</Struct>
<Struct Name="StgSharp.Math.colum2" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="43" Y="5.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAQAAAAAE4AUAAAAAAAAAAIAAAAAAAAAAYAA=</HashCode>
<FileName>Math\Linear\colum2.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.colum3" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="44.75" Y="5.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAIAAAAAAE4AUAAAAAAAAAAIAAAAAAAAAAYiE=</HashCode>
<FileName>Math\Linear\colum3.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.colum4" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="46.5" Y="5.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAEgAAAAAAAAAAAAIAAAAAAAAAIYAE=</HashCode>
<FileName>Math\Linear\colum4.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.matrix2x2" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="50" Y="7.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAgAEAAAAEwAEAAAAAAAAAAIAAAAAAQAAAAAA=</HashCode>
<FileName>Math\Linear\matrix2x2.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.matrix2x3" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="51.75" Y="7.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAgAEAAAAE4AUAAIAAAAAAAIAAAAAAAAAAAAA=</HashCode>
<FileName>Math\Linear\matrix2x3.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.matrix2x4" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="41.25" Y="8.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAgAEAAAAE4AUAAAAAAAAAAIAAAAAAAAAAAAA=</HashCode>
<FileName>Math\Linear\matrix2x4.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.matrix3x2" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="43" Y="8.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAwAEAAAAEwAEAAAAAAAAAAIAAAAAAQAAAAAA=</HashCode>
<FileName>Math\Linear\matrix3x2.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.matrix3x3" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="44.75" Y="8.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAwAEAAAAE4AUAAIAAAAAAAIAAAAAAAAAAAiA=</HashCode>
<FileName>Math\Linear\matrix3x3.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.matrix3x4" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="46.5" Y="8.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAwAEAAAAEgAAAAAAAAAAAAIAAAAAAAAAQAAA=</HashCode>
<FileName>Math\Linear\matrix3x4.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.matrix4x2" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="48.25" Y="8.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAA4AEAAAAEgAAAAAAAAAAAAIAAAAAAQAAAAAA=</HashCode>
<FileName>Math\Linear\matrix4x2.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.matrix4x3" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="50" Y="8.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAA4AEAAAAEgAAAAIAAAAAAAIAAAAAAAAAAAAA=</HashCode>
<FileName>Math\Linear\matrix4x3.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.matrix4x4" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="51.75" Y="8.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAA4AEAAAAE4AEAAAAAAAAAAIAAAAAAAAAQAAA=</HashCode>
<FileName>Math\Linear\matrix4x4.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.vec2d" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="50" Y="9.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAE4AUAAAAAAAAAAIAAAAAAAAAAYiI=</HashCode>
<FileName>Math\Linear\vec2d.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.vec3d" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="51.75" Y="9.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAE4CUAAAAAAgAAAIAAAAAAAAAAYiM=</HashCode>
<FileName>Math\Linear\vec3d.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Struct Name="StgSharp.Math.vec4d" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="41.25" Y="10.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAgAAE4AUAAgAAAAAAAIAAAAAAAAAIYiM=</HashCode>
<FileName>Math\Linear\vec4d.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Struct>
<Enum Name="StgSharp.Graphics.VkStructureType" Collapsed="true">
<Position X="44.75" Y="12" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAIAAAAAAQQAAAAAAAAEAAAgQABAAAAAAAAAAAAA=</HashCode>
<FileName>Graphics\GL\GLenums.cs</FileName>
</TypeIdentifier>
</Enum>
<Enum Name="StgSharp.Graphics.VkResult" Collapsed="true">
<Position X="43" Y="12" Width="1.5" />
<TypeIdentifier>
<HashCode>CAAAACAAgACAAUAiAAAAUAFwAAAFAAAAQAFABCCAAFA=</HashCode>
<FileName>Graphics\GL\GLenums.cs</FileName>
</TypeIdentifier>
</Enum>
<Enum Name="StgSharp.Math.CordinatePlain" Collapsed="true">
<Position X="41.25" Y="12" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAMAAAAAgAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Math\Linear\Cordination.cs</FileName>
</TypeIdentifier>
</Enum>
<Delegate Name="StgSharp.SensorRuleHandler" Collapsed="true">
<Position X="48.25" Y="13" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Logic\Sensor.cs</FileName>
</TypeIdentifier>
</Delegate>
<Delegate Name="StgSharp.Control.InitWindow" Collapsed="true">
<Position X="44.75" Y="13" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAA=</HashCode>
<FileName>Control\IO\IOpackage.cs</FileName>
</TypeIdentifier>
</Delegate>
<Delegate Name="StgSharp.Geometries.ExpressionHandler" Collapsed="true">
<Position X="41.25" Y="13" Width="1.5" />
<TypeIdentifier>
<HashCode>IAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\ExpressionHandler.cs</FileName>
</TypeIdentifier>
</Delegate>
<Delegate Name="StgSharp.Geometries.GetLocationHandler" Collapsed="true">
<Position X="43" Y="13" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Geometries\PlainGeometry\GeometryOperation.cs</FileName>
</TypeIdentifier>
</Delegate>
<Delegate Name="StgSharp.Math.ScalarCalcHandler" Collapsed="true">
<Position X="46.5" Y="13" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Math\Scalar\Ctor.cs</FileName>
</TypeIdentifier>
</Delegate>
<Font Name="Microsoft YaHei UI" Size="9" />
</ClassDiagram>
+7 -5
View File
@@ -1,15 +1,17 @@
using StgSharp.Geometries;
using StgSharp.Control;
using StgSharp.Geometries;
using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Control
namespace StgSharp
{
public static class Add
public static partial class Instruction
{
public static void Pool(Pool pool)
public static void AddPool(Pool pool)
{
GameTimeLine.allPool.Add(pool);
ProgramTimeLine.allPool.Add(pool);
ProgramTimeLine._currentPool = pool;
}
}
}
+5 -2
View File
@@ -1,13 +1,16 @@
using System;
using StgSharp.Control;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
namespace StgSharp.Control
namespace StgSharp
{
public static class Change
public static partial class Instruction
{
//method used for chaging the value of paameters will be listed here
}
}
@@ -1,33 +0,0 @@
using StgSharp.Entities;
using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Control
{
public static class GameTimeLine
{
internal static Pool _currentPool;
internal static LinkedList<Pool> allPool;
public static Counter<uint> tickCounter = new Counter<uint>(0,1,1);
internal static TimelineBlock currentOperation;
private static bool isPaused;
internal static void OnRender()
{
tickCounter.QuickAdd();
foreach (Pool p in allPool)
{
_currentPool = p;
if (!isPaused)
{
currentOperation.OnUpdating();
}
foreach (EntityPartical b in _currentPool._bulletContainer)
{
}
}
}
}
}
@@ -0,0 +1,53 @@
using StgSharp.Entities;
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace StgSharp.Control
{
public static class ProgramTimeLine
{
[AllowNull]
internal static Pool _currentPool = default;
internal static LinkedList<Pool> allPool;
/// <summary>
/// Tick counter count the frames passed since the program start.
/// </summary>
public readonly static Counter<uint> tickCounter = new Counter<uint>(0,1,1);
[AllowNull]
internal static TimelineBlock currentOperation ;
private static bool isPaused = false;
static ProgramTimeLine()
{
allPool = new LinkedList<Pool>();
#if DEBUG
Console.WriteLine("Timeline init OK!") ;
#endif
}
internal static void OnRender()
{
tickCounter.QuickAdd();
foreach (Pool p in allPool)
{
_currentPool = p;
if (!isPaused)
{
currentOperation.OnUpdating();
}
foreach (EntityPartical b in _currentPool._bulletContainer)
{
}
}
}
}
}
+1 -1
View File
@@ -9,7 +9,7 @@ namespace StgSharp.Control
{
public static void Point(Point p)
{
GameTimeLine._currentPool.pointContainer.Remove(p);
ProgramTimeLine._currentPool.pointContainer.Remove(p);
}
@@ -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)
+44 -19
View File
@@ -1,48 +1,74 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data.SqlTypes;
using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace StgSharp
{
public abstract class INode<T> where T : INode<T>
{
[NotNull]
protected ContainerNode<T> _id;
[AllowNull]
internal ContainerNode<T> ID { get; }
internal void setID(ContainerNode<T> id)
internal ContainerNode<T> Previous
{
if (_id!=null)
{
throw new ArgumentException("Cannot set ID twice");
}
else
{
_id = id;
}
get { return _id._previous; }
set { _id._previous = value; }
}
internal ContainerNode<T> Next
{
get { return _id._next; }
set { _id._next = value; }
}
public INode()
{
_id = new ContainerNode<T>(this as T);
}
internal void SetId(ContainerNode<T> tContainer)
{
_id = tContainer;
}
internal void SelfDestrcut()
{
_id._previous._next = _id._next;
_id._next._previous = _id._previous;
this._id = default;
_id._next = null;
_id._previous = null;
GC.Collect();
}
}
public class ContainerNode<T> where T : INode<T>
public class ContainerNode<T> : INullable where T : INode<T>
{
internal readonly T _value;
[AllowNull]
internal ContainerNode<T> _previous;
[AllowNull]
internal ContainerNode<T> _next;
internal ContainerNode<T> _side;
internal ContainerNode()
{
}
public ContainerNode(T t)
{
_value = t;
t.setID(this);
_previous = new ContainerNode<T>();
_next = new ContainerNode<T>();
}
public virtual ContainerNode<T> Previous
@@ -57,17 +83,16 @@ namespace StgSharp
set { _next = value; }
}
public ContainerNode<T> Side
{
get { return _side; }
set { _side = value; }
}
public T Value
{
get { return _value; }
}
public bool IsNull
{
get;
}
public void Remove()
{
_previous.Next = _next;
+43 -22
View File
@@ -1,4 +1,5 @@
using StgSharp.Logic;
using StgSharp.Graphics;
using StgSharp.Logic;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -9,43 +10,60 @@ namespace StgSharp
public class LinkedList<T>:INode<LinkedList<T>>,IEnumerable where T: INode<T>
{
internal readonly ContainerNode<T> _heading;
internal ContainerNode<T> _first;
internal ContainerNode<T> _tail;
private ContainerNode<T> _cache;
private bool isEmpty;
public LinkedList()
{
_heading = new ContainerNode<T>(default(T));
_heading = new ContainerNode<T>(null);
isEmpty = true;
#if DEBUG
Console.WriteLine("Linked list init ok");
#endif
}
public T First
{
get { return _first._value; }
set
{
_first = new ContainerNode<T>(value);
_heading._next = _first;
}
get { return _heading._next._value; }
private set { _heading._next = value.ID; }
}
public T Tail
{
get { return _tail._value; }
set { _tail = new ContainerNode<T>(value); }
get { return _heading._previous._value; }
private set { _heading._previous = value.ID; }
}
/// <summary>
/// Add an item to the tail of linked list.
/// </summary>
/// <param name="t">The item ready to add to the list</param>
public void Add(T t)
{
if (_first != default(ContainerNode<T>))
//checkout if the linkedlist is null
if (isEmpty)
{
First = t;
_heading._next = t.ID;
_heading._previous = t.ID;
t.Next = _heading;
t.Previous = _heading;
isEmpty = false;
Console.WriteLine("1st item ok");
Console.WriteLine(_heading._next);
Console.WriteLine(_heading._previous);
}
else
{
_cache = new ContainerNode<T>(t);
_tail._next = _cache;
_cache._previous = _tail;
_tail = _cache;
Console.WriteLine("next begin");
t.Next = _heading;
Console.WriteLine("step 01 ok");
t.Previous = _heading.Previous;
Console.WriteLine("step 02 ok");
_heading._previous._next = t.ID;
Console.WriteLine("step 03 ok");
_heading._previous = t.ID;
}
}
@@ -63,15 +81,18 @@ namespace StgSharp
public void RemoveTail()
{
if (_tail==default(ContainerNode<T>))
//check out if the list has only one member
if (Tail == First)
{
First = default;
isEmpty = true;
}
else
{
_cache = _tail;
_tail = _cache._previous;
_cache._previous = default(ContainerNode<T>);
Tail.Previous.Next = _heading;
Tail.Next = null;
}
}
+21 -1
View File
@@ -29,15 +29,24 @@ namespace StgSharp
internal Sensor<EntityPartical> Sensor;
#if DEBUG
public Pool()
{
initContainers();
Console.WriteLine("Pool init OK!");
}
#endif
public Pool(Line left, Line right, Line top, Line bottom)
{
initContainers();
topBoader = top;
bottomBoader= bottom;
rightBoader = right;
leftBoader = left;
}
public Pool( Geometries.Rectangle area)
{
vec3d vec = area.vertex01.Position - area.vertex02.Position;
@@ -79,6 +88,17 @@ namespace StgSharp
}
}
}
initContainers();
}
private void initContainers()
{
_id = new ContainerNode<Pool>(this);
pointContainer = new LinkedList<Point>();
_bulletContainer = new LinkedList<IEntity>();
_awardContainer = new LinkedList<IEntity>();
_enemyContainer = new LinkedList<IEntity>();
}
public void OnRender()
+7
View File
@@ -12,6 +12,9 @@
<PackageLicenseExpression> MIT</PackageLicenseExpression>
<EnableNETAnalyzers>True</EnableNETAnalyzers>
<AnalysisLevel>preview-all</AnalysisLevel>
<OutputType>Library</OutputType>
<StartupObject></StartupObject>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -21,19 +24,23 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Optimize>True</Optimize>
<DebugType>none</DebugType>
<NoWarn>1701;1702;0649;1591;0169</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebugType>none</DebugType>
<Optimize>True</Optimize>
<NoWarn>1701;1702;0649;1591;0169</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DebugType>none</DebugType>
<NoWarn>1701;1702;0649;1591;0169</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<DebugType>none</DebugType>
<NoWarn>1701;1702;0649;1591;0169</NoWarn>
</PropertyGroup>
<ItemGroup>
Binary file not shown.
Binary file not shown.
@@ -4,6 +4,11 @@
<name>StgSharp</name>
</assembly>
<members>
<member name="F:StgSharp.Control.ProgramTimeLine.tickCounter">
<summary>
Tick counter count the frames passed since the program start.
</summary>
</member>
<member name="P:StgSharp.IEntity.CollisionSensor">
<summary>
A sensor used for cheking out if a bullet hit a player or something else
@@ -51,11 +56,11 @@
</member>
<member name="M:StgSharp.Geometries.Point.Update(System.UInt32)">
<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>
</member>
<member name="M:StgSharp.Geometries.Rectangle.MovCenter(System.UInt32)">
<summary>
@@ -64,6 +69,12 @@
<param name="tick">当前游戏刻</param>
<returns></returns>
</member>
<member name="M:StgSharp.LinkedList`1.Add(`0)">
<summary>
Add an item to the tail of linked list.
</summary>
<param name="t">The item ready to add to the list</param>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.colum2,StgSharp.Math.vec2d)">
<summary>
@@ -1 +1 @@
a4558088b0c5bcb83216471530b205191f8c14aa
d9e429e518fe1f6dae5da89eb9e5d9164a49d3d0
@@ -4,6 +4,11 @@
<name>StgSharp</name>
</assembly>
<members>
<member name="F:StgSharp.Control.ProgramTimeLine.tickCounter">
<summary>
Tick counter count the frames passed since the program start.
</summary>
</member>
<member name="P:StgSharp.IEntity.CollisionSensor">
<summary>
A sensor used for cheking out if a bullet hit a player or something else
@@ -51,11 +56,11 @@
</member>
<member name="M:StgSharp.Geometries.Point.Update(System.UInt32)">
<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>
</member>
<member name="M:StgSharp.Geometries.Rectangle.MovCenter(System.UInt32)">
<summary>
@@ -64,6 +69,12 @@
<param name="tick">当前游戏刻</param>
<returns></returns>
</member>
<member name="M:StgSharp.LinkedList`1.Add(`0)">
<summary>
Add an item to the tail of linked list.
</summary>
<param name="t">The item ready to add to the list</param>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.colum2,StgSharp.Math.vec2d)">
<summary>