init
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using VOID.Generic.Objects.Unit.Actions;
|
||||
using VOID.Generic.Player.Input;
|
||||
using VOID.Generic.Player.Util;
|
||||
using VOID.UserInterface.Game;
|
||||
|
||||
namespace VOID.Generic.Player.CursorOperation
|
||||
{
|
||||
public class OnSceneCursorOperation : AbstractCursorOperation
|
||||
{
|
||||
public override Type ForType() => null;
|
||||
|
||||
public override bool Check(SelectUtilResult select)
|
||||
{
|
||||
return !select.onUI && !select.selectObject;
|
||||
}
|
||||
|
||||
public override void DoDefault(SelectUtilResult select, bool isAlternate)
|
||||
{
|
||||
if (isAlternate) return;
|
||||
|
||||
var activeUnit = PlayerController.current.activeUnit;
|
||||
var attackAbility = activeUnit.unitAbilityBook.attackAbility;
|
||||
|
||||
if (activeUnit.unitData.canAttack && PlayerInputManager.current.isForceAttack)
|
||||
{
|
||||
activeUnit.Order(new MoveAction(activeUnit, select.position, attackAbility.range));
|
||||
activeUnit.Order(new AbilityAction(activeUnit, attackAbility, select.position));
|
||||
return;
|
||||
}
|
||||
|
||||
activeUnit.OrderStop();
|
||||
activeUnit.Order(new MoveAction(activeUnit, select.position));
|
||||
}
|
||||
|
||||
public override void DoContext(SelectUtilResult select)
|
||||
{
|
||||
ContextMenuUI.current.Close();
|
||||
PlayerController.current.activeUnit.OrderStop();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user