You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.2 KiB
35 lines
1.2 KiB
using Godot;
|
|
using System;
|
|
using Babushka.scripts.CSharp.Common.Fight;
|
|
|
|
public partial class AllFightersVisual : Node
|
|
{
|
|
[Export] private Node2D _allyFighters;
|
|
[Export] private Node2D _enemyFighters;
|
|
|
|
[Export] private PackedScene _blobFighterVisual;
|
|
[Export] private PackedScene _bigBlobFighterVisual;
|
|
[Export] private PackedScene _mavkaFighterVisual;
|
|
[Export] private PackedScene _yourMomFighterVisual;
|
|
[Export] private PackedScene _vesnaFighterVisual;
|
|
|
|
public void EnterFighter(FightWorld.Fighter fighter, bool isEnemy)
|
|
{
|
|
var parent = isEnemy ? _enemyFighters : _allyFighters;
|
|
|
|
var packedScene = fighter.type switch
|
|
{
|
|
FightWorld.Fighter.Type.Blob => _blobFighterVisual,
|
|
FightWorld.Fighter.Type.BigBlob => _bigBlobFighterVisual,
|
|
FightWorld.Fighter.Type.Mavka => _mavkaFighterVisual,
|
|
FightWorld.Fighter.Type.YourMom => _yourMomFighterVisual,
|
|
FightWorld.Fighter.Type.Vesna => _vesnaFighterVisual,
|
|
_ => throw new ArgumentOutOfRangeException()
|
|
};
|
|
|
|
var fighterVisual = packedScene.Instantiate<FighterVisual>();
|
|
fighterVisual.Initialize(fighter);
|
|
parent.AddChild(fighterVisual);
|
|
}
|
|
}
|