server-master/srcs/WingsAPI.Game/RainbowBattle/RainbowBattleComponent.cs
2026-02-10 18:21:30 +01:00

52 lines
No EOL
1.4 KiB
C#

using System;
using WingsAPI.Packets.Enums.Rainbow;
namespace WingsEmu.Game.RainbowBattle;
public interface IRainbowBattleComponent
{
int Kills { get; set; }
int Deaths { get; set; }
bool IsInRainbowBattle { get; }
bool IsFrozen { get; set; }
DateTime? FrozenTime { get; set; }
RainbowBattleParty RainbowBattleParty { get; }
int ActivityPoints { get; set; }
RainbowBattleTeamType Team { get; }
void SetRainbowBattle(RainbowBattleParty rainbowBattleParty, RainbowBattleTeamType team);
void RemoveRainbowBattle();
}
public class RainbowBattleComponent : IRainbowBattleComponent
{
public int Kills { get; set; }
public int Deaths { get; set; }
public bool IsInRainbowBattle => RainbowBattleParty != null;
public bool IsFrozen { get; set; }
public DateTime? FrozenTime { get; set; }
public RainbowBattleParty RainbowBattleParty { get; private set; }
public int ActivityPoints { get; set; }
public RainbowBattleTeamType Team { get; private set; }
public void SetRainbowBattle(RainbowBattleParty rainbowBattleParty, RainbowBattleTeamType team)
{
RainbowBattleParty = rainbowBattleParty;
Team = team;
Kills = 0;
Deaths = 0;
IsFrozen = false;
ActivityPoints = 0;
}
public void RemoveRainbowBattle()
{
RainbowBattleParty = null;
Kills = 0;
Deaths = 0;
IsFrozen = false;
ActivityPoints = 0;
}
}