Skip to content

Instantly share code, notes, and snippets.

View smkplus's full-sized avatar
😍
Curios

Seyed Morteza Kamali smkplus

😍
Curios
View GitHub Profile
interface IWitchAbilities
{
void Hex();
void Heal();
void Disappear();
void Fire();
void Ice();
void Poison();
}
using System;
public abstract class Character
{
public int Armor { get; set; }
public int Life { get; set; }
public abstract void Attack();
public abstract void TakeDamage(int damage);
using System;
using UnityEngine;
public class Warrior : MonoBehaviour
{
public int Armor { get; set; }
public int Life { get; set; }
public virtual void Attack()
{
public abstract class Character
{
public int Armor { get; set; }
public int Life { get; set; }
public abstract void TakeDamage(int damage);
}
public class Warrior : Character
{
using UnityEngine;
public class DamageManager
{
public void CalculateDamage(Character character, int damage)
{
private int finalDamage = 0;
if(character is Warrior)
{
public class GameConstants
{
public const int INITIAL_LIFE = 100;
public const string SCORE_TXT = "SCORE: ";
public const string LIFE_TXT = "LIFE: ";
}
using UnityEngine;
public class CombatComponent : MonoBehaviour
{
public void PlayerAttacksEnemy(Player player, Enemy enemy)
{
if (player != null)
{
enemy?.ReceiveDamage(player.Attack);
}
using UnityEngine;
public class AudioComponent : MonoBehaviour
{
//Audio Clips
[SerializeField] private AudioClip attackSfx;
[SerializeField] private AudioClip playerDeathSfx;
//Audio Sources
[SerializeField] private AudioSource audioSource;
using UnityEngine;
using UnityEngine.UI;
public class UIComponent : MonoBehaviour
{
[SerializeField] private Text scoreText;
[SerializeField] private Text lifeText;
[SerializeField] private Image gameOverOverlay;
private void Start()
using UnityEngine;
using UnityEngine.UI;
public class GameManager : MonoBehaviour
{
public const int INITIAL_LIFE = 100;
private const string SCORE_TXT = "SCORE: ";
private const string LIFE_TXT = "LIFE: ";
//UI