34 public override IEnumerable<KeyValuePair<string, int>>
GetCameraList() {
36 new KeyValuePair<string, int>(
51 return subsystemGameInfo.WorldSettings.GameMode ==
GameMode.Creative;
58 int currentIndex = -1;
60 foreach (KeyValuePair<string, int> item
in dictionary) {
62 if (type == gameWidget.ActiveCamera.GetType()) {
63 currentIndex = item.Value;
68 int nextCameraIndex = (currentIndex + 1) % enableCount;
73 key = dictionary.First(item2 => item2.Value == nextCameraIndex).Key;
75 camera = gameWidget.FindCamera(type, out isEnable);
76 nextCameraIndex = (nextCameraIndex + 1) % enableCount;
79 gameWidget.ActiveCamera = camera;
87 if (
string.IsNullOrEmpty(text)) {
126 float? alphaThreshold) {
130 if (m_componentPlayer !=
null
137 if (position.
Z < 0f) {
146 modelsRenderer.PrimitivesRenderer
191 int layer = drawContext.m_drawItems.LastOrDefault()?.Layer ?? 0;
193 for (
int i = 0; i < drawContext.m_drawItems.Count; i++) {
196 && drawItem.IsOverdraw) {
197 drawItem.Layer = layer;
200 drawContext.m_drawItems.Sort();
static readonly BlendState AlphaBlend
static readonly DepthStencilState DepthRead
static readonly RasterizerState CullNoneScissor
static SamplerState LinearClamp
static float Saturate(float x)
static Type FindType(string typeName, bool skipSystemAssemblies, bool throwIfNotFound)
static int EnabledCamerasCount
ComponentHealth ComponentHealth
ComponentBody ComponentBody
virtual void DisplayLargeMessage(string largeText, string smallText, float duration, float delay)
virtual string CauseOfDeath
ComponentCreature ComponentCreature
ComponentGui ComponentGui
ComponentMiner ComponentMiner
static void AddKeyToCompatibleGroup(string groupId, params string[] keys)
添加按键到兼容组
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
static Dictionary< string, int > CombinedCameraManageSettings
SubsystemGameInfo m_subsystemGameInfo
ComponentPlayer ComponentPlayer
static bool FullScreenMode
WorldSettings WorldSettings
override void WindowModeChanged(WindowMode mode)
当窗口模式改变时执行。
override void OnCameraChange(ComponentPlayer m_componentPlayer, ComponentGui componentGui)
改变相机模式时执行
override IEnumerable< KeyValuePair< string, int > > GetCameraList()
用于添加新的摄像机顺序,在重置摄像机列表时也会使用这里的设置作为默认值。 使用yield return可返回多个键值对。键:摄像机类名;值:顺序
override void ManageCameras(GameWidget gameWidget)
当GameWidget被创建时执行,适合添加新的摄像机类型。具体方法可参考SurvivalCraftModLoader.ManageCameras
override void __ModInitialize()
当ModLoader类被实例化时执行
override void InitKeyCompatibleGroups()
初始化按键兼容组
override void OnDrawItemAssigned(Widget.DrawContext drawContext)
在 DrawItem 排序后。
override void OnModelRendererDrawExtra(SubsystemModelsRenderer modelsRenderer, SubsystemModelsRenderer.ModelData modelData, Camera camera, float? alphaThreshold)
绘制额外模型数据的方法,如人物头顶的名字
override int GetMaxInstancesCount()
设置生物最大组件数,多个Mod时取最大
override void OnPlayerDead(PlayerData playerData)
当人物死亡时执行。在玩家进入世界且玩家处于死亡状态时也会执行 可以通过playerData.m_stateMachine.PreviousState == "Playing",来判断是刚死的,还是加载世...
static bool ShowCandidatesWindow
bool IsAdventureRespawnAllowed
Component FindComponent(Type type, string name, bool throwOnError)
virtual Subsystem FindSubsystem(Type type, string name, bool throwOnError)
static void RegisterHook(string HookName, ModLoader modLoader)
注册Hook
static Color Lerp(Color c1, Color c2, float f)
static Vector3 TransformNormal(Vector3 v, Matrix m)
static Vector3 Transform(Vector3 v, Matrix m)
static Vector3 Cross(Vector3 v1, Vector3 v2)
static Vector3 Normalize(Vector3 v)
static readonly Vector3 UnitY