This commit is contained in:
CortexCore
2025-03-09 13:38:32 +08:00
parent 787ae12bf8
commit 88f1ff1b04
14 changed files with 181 additions and 35 deletions

View File

@@ -0,0 +1,47 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Cysharp.Threading.Tasks;
using UnityEngine;
namespace Net.Project.B.Damage
{
public interface IDamageData
{
public int Index { get; set; }
public int InitialDamage { get; }
public int FinalDamage { get; }
}
public struct DamageData:IDamageData
{
public int Index { get; set; }
public int InitialDamage { get; set; }
public int FinalDamage { get; set; }
}
public interface IDamageType
{
}
public interface IDamageReport
{
public int Index { get; }
public ulong InitialTick { get; }
public ulong FinalTick { get; }
public int Initiator { get; }
public int Target { get; }
public int InitialDamage { get; }
public int FinalDamage { get; }
public bool IsFatal { get; }
public IDamageType DamageType { get; }
IReadOnlyCollection<IDamageData> Reports { get; }
}
public interface IDamageService
{
public event Func<IDamageReport, UniTask<IDamageData>> DamageFactor;
public event Action<IDamageReport> OnDamaged;
public UniTask<IDamageReport> CreateDamageAsync(int initiator, int target, int initialDamage, IDamageType damageType);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 375a295c2e9786f438297f37b096a6c7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,18 @@
{
"name": "Net.Project.B.Damage",
"rootNamespace": "",
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
"GUID:d8b63aba1907145bea998dd612889d6b",
"GUID:f51ebe6a0ceec4240a699833d6309b23"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0a14a5a3c0b252a479623fb0cdc70fdf
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: