Advertisement
ChibiPasting

IWeapon

May 31st, 2024
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.96 KB | None | 0 0
  1. using Assets.Scripts.Enemies;
  2. using Assets.Scripts.Enums;
  3. using Assets.Scripts.Interfaces.Weapons;
  4. using Assets.Scripts.ScriptableObjects.Stats;
  5. using Assets.Scripts.Weapons.Base;
  6. using System;
  7. using UnityEngine;
  8.  
  9. namespace Assets.Scripts.Interfaces.Weapons
  10. {
  11.     internal interface IWeapon
  12.     {
  13.         event EventHandler CooldownFinished;
  14.  
  15.         string Name { get; }
  16.         Vector3 Position { get; }
  17.         WeaponType Type { get; }
  18.         WeaponTargetingPriority TargettingPriority { get; }
  19.         WeaponAttackMode AttackMode { get; }
  20.         IWeaponProperties Properties { get; }
  21.         ILevelSystem LevelSystem { get; }
  22.  
  23.         void Attack(EnemyCharacter target);
  24.         void AttackMany(EnemyCharacter[] targets);
  25.         void AddAttributeDependency(CharacterStats stats);
  26.         void RemoveAttributeDependency(CharacterStats stats);
  27.         void AddAttributeModifier(WeaponProperties properties);
  28.         ITimer GetCooldownTimer();
  29.     }
  30. }
  31.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement