package com.lyeeedar.Roguelike3D.Graphics.Models.RiggedModels;
import com.badlogic.gdx.math.Vector3;
import com.lyeeedar.Roguelike3D.Game.GameData;
import com.lyeeedar.Roguelike3D.Game.Actor.GameActor;
import com.lyeeedar.Roguelike3D.Game.Spell.Spell;
public class RiggedModelBehaviourCastSpell extends RiggedModelBehaviour {
/**
*
*/
private static final long serialVersionUID = 2461210296884237147L;
final Spell spell;
String holderUID;
transient GameActor holder;
public RiggedModelBehaviourCastSpell(RiggedModelNode node, Spell spell) {
super(node);
this.spell = spell;
}
@Override
protected void equipped(GameActor holder, int side) {
holderUID = holder.UID;
spell.casterUID = holder.UID;
this.holder = holder;
}
@Override
public void held() {
}
@Override
public void released() {
}
@Override
public void cancel() {
}
@Override
public void update(float delta) {
}
boolean collideMode = false;
@Override
public void proccessCollideMode(boolean mode) {
if (collideMode && !mode)
{
Spell spellCpy = spell.copy();
spellCpy.initialise(Vector3.tmp.set(0, 0, 0).mul(node.composedMatrix), holder.rotation);
spellCpy.create();
GameData.spells.add(spellCpy);
}
collideMode = mode;
}
}