This commit is contained in:
parent
4c2534a6e9
commit
a772331918
|
@ -32,6 +32,7 @@ namespace Net.Project.B.Health
|
|||
if(prevHp==value)return;
|
||||
healthPoint = value;
|
||||
OnHealthChanged?.Invoke(prevHp,healthPoint);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ab89ce641ffd51543b1bc41781de9c71
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,39 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Unity.Mathematics;
|
||||
|
||||
namespace Net.Project.B.Level
|
||||
{
|
||||
public class LevelComponent
|
||||
{
|
||||
public int Level { get; private set; }
|
||||
public int2 Exp { get; set; } = new(0, 1000);
|
||||
public event Action<int,int> OnExpChanged;
|
||||
public event Action<int> OnLevelChanged;
|
||||
public void AddExp(int exp)
|
||||
{
|
||||
var current = Exp;
|
||||
var newExp = Exp + new int2(exp, 0);
|
||||
|
||||
// 是否升级(x 是当前经验,y 是当前等级所需经验)
|
||||
if (newExp.x >= Exp.y)
|
||||
{
|
||||
newExp.x -= Exp.y; // 超出部分保留
|
||||
newExp.y = (Level/10+1)+Level%10; // 如果你有更高级别的经验需求函数
|
||||
|
||||
Exp = newExp;
|
||||
Level++;
|
||||
OnLevelChanged?.Invoke(Level);
|
||||
}
|
||||
else
|
||||
{
|
||||
Exp = newExp;
|
||||
}
|
||||
|
||||
OnExpChanged?.Invoke(current.x, newExp.x);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4e174908a3e850e4ba7c55460b1179ac
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"name": "Net.Project.B.Level",
|
||||
"rootNamespace": "",
|
||||
"references": [
|
||||
"GUID:d8b63aba1907145bea998dd612889d6b"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 16c1175489fd8a84b846b3dedc7e7836
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,14 +1,24 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using BITKit;
|
||||
using BITKit.WorldNode;
|
||||
using Unity.Mathematics;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Net.Project.B.Mark
|
||||
{
|
||||
public interface IMarkType{}
|
||||
public interface IMarkComponent
|
||||
{
|
||||
}
|
||||
[Serializable]
|
||||
public class NameMark:IWorldNode
|
||||
{
|
||||
#if UNITY_5_3_OR_NEWER
|
||||
[SerializeReference, SubclassSelector] private IReference name;
|
||||
public string Name => name?.Value;
|
||||
#endif
|
||||
}
|
||||
public class PositionMark:IMarkComponent{}
|
||||
}
|
||||
|
|
|
@ -76,6 +76,16 @@ namespace Project.B.Player
|
|||
[DisplayName("Settings_TPS_FOV")]
|
||||
public int TpsFov { get; set; } = 75;
|
||||
/// <summary>
|
||||
/// 镜头晃动幅度,防止用户眩晕
|
||||
/// </summary>
|
||||
[DisplayName("Settings_View_Camera_Movement_Intensity")]
|
||||
public float ViewCameraMovementIntensity { get; set; } = 1f;
|
||||
/// <summary>
|
||||
/// 最低第三人称视角距离,防止用户眩晕
|
||||
/// </summary>
|
||||
[DisplayName("Settings_TPS_Min_Distance")]
|
||||
public float TpsMinDistance { get; set; }
|
||||
/// <summary>
|
||||
/// 分辨率
|
||||
/// </summary>
|
||||
[DisplayName("Settings_Resolution")] public int2 Resolution { get; set; }
|
||||
|
|
|
@ -9,7 +9,10 @@ using Net.Project.B.World;
|
|||
|
||||
namespace Net.Project.B.UX
|
||||
{
|
||||
public interface IUXHud:IUXPanel{}
|
||||
public interface IUXHud : IUXPanel
|
||||
{
|
||||
public ValidHandle InCinematicMode { get; }
|
||||
}
|
||||
public interface IUXInitialize:IUXPanel,ILogger<IUXInitialize> {}
|
||||
public interface IUXBuyStation:IUXPanel{}
|
||||
public interface IUXControlMode:IUXPanel{}
|
||||
|
@ -53,4 +56,5 @@ namespace Net.Project.B.UX
|
|||
public IReadOnlyCollection<IBuff> SurvivalBuffs { get; set; }
|
||||
}
|
||||
public interface IUXChat:IUXPanel{}
|
||||
public interface IUXLevelUp:IUXPanel{}
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace Net.Project.B.WorldNode
|
|||
if (!searchGameObject) continue;
|
||||
hashSet.UnionWith(searchGameObject.GetComponentsInChildren<Transform>());
|
||||
}
|
||||
staticGameObjects = hashSet.Select(x => x.gameObject).ToArray();
|
||||
staticGameObjects = hashSet.Where(x=>x.gameObject.isStatic).Select(x => x.gameObject).ToArray();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue