Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Assets.Scripts.Enemies;
- using Assets.Scripts.Enums;
- using Assets.Scripts.Interfaces.Weapons;
- using Assets.Scripts.ScriptableObjects.Stats;
- using Assets.Scripts.Weapons.Base;
- using System;
- using UnityEngine;
- namespace Assets.Scripts.Interfaces.Weapons
- {
- internal interface IWeapon
- {
- event EventHandler CooldownFinished;
- string Name { get; }
- Vector3 Position { get; }
- WeaponType Type { get; }
- WeaponTargetingPriority TargettingPriority { get; }
- WeaponAttackMode AttackMode { get; }
- IWeaponProperties Properties { get; }
- ILevelSystem LevelSystem { get; }
- void Attack(EnemyCharacter target);
- void AttackMany(EnemyCharacter[] targets);
- void AddAttributeDependency(CharacterStats stats);
- void RemoveAttributeDependency(CharacterStats stats);
- void AddAttributeModifier(WeaponProperties properties);
- ITimer GetCooldownTimer();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement