daily update on 20230322 by nitload youmu, new geometry structure rewritten 70%

This commit is contained in:
Nitload
2023-03-22 20:32:17 +08:00
parent db2ca36fd7
commit eedab82f6e
66 changed files with 1382 additions and 785 deletions
+39 -6
View File
@@ -1,17 +1,50 @@
using System;
using StgSharp.Entities;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp
{
public class Launcher
public class Launcher<T>:INode<Launcher<T>> where T : Entity
{
internal Partical _bullet;
/*
*用于发射其他的实体,主要是子弹 和 掉落物
*/
public Partical Bullet
internal vec2d _center; //发射器的参考位置,运动轨迹的方程应当基于这个参考点构建
private ContainerNode<Launcher<T>> _id;
internal Counter<int> _internalParameter; //发射器的内部计时器
internal EntityPartical _bulletSample; //发射的子弹类型
internal uint[] launchtick; //发射子弹的内部计时
public EntityPartical Bullet
{
get { return _bullet; }
set { _bullet = value; }
get { return _bulletSample; }
set { _bulletSample = value; }
}
internal void Launch(Counter<uint> outerTickCounter, LinkedList<Entity> container)
{
}
ContainerNode<Launcher<T>> INode<Launcher<T>>.ID
{
get { return _id; }
}
void INode<Launcher<T>>.setID<T1>(ContainerNode<T1> id)
{
if (_id == default(ContainerNode<Launcher<T>>))
{
throw new ArgumentException();
}
else
{
_id = id as ContainerNode<Launcher<T>>;
}
}
}
}