public void Parry() { if(!_tween.isRunning) { _state = HandheldItemState.Parry; _tween = new OTTween(GetComponent<OTSprite>(), CONSTANTS.BaseAttackAnimDuration, OTEasing.Linear); _tween.TweenAdd("rotation", -90f); _tween.onTweenFinish = OnTweenFinish; } }
public void Block() { if(!_tween.isRunning) { _state = HandheldItemState.Block; _tween = new OTTween(GetComponent<OTSprite>(), CONSTANTS.BaseAttackAnimDuration); _tween.TweenAdd("position", new Vector2(0, 0.5f), OTEasing.ExpoOut); _tween.onTweenFinish = OnTweenFinish; } }
public void Recoil(float duration) { if(!_tween.isRunning) { _timer = duration; _state = HandheldItemState.Recoil; _tween = new OTTween(GetComponent<OTSprite>(), duration/2f); _tween.TweenAdd("position", new Vector2(0,-0.2f), OTEasing.ExpoOut); _tween.onTweenFinish = OnTweenFinish; } }
public void Slash(float duration) { if(!_tween.isRunning) { _timer = duration; _state = HandheldItemState.Slash; _tween = new OTTween(GetComponent<OTSprite>(), duration/2f); _tween.TweenAdd("position", new Vector2(-0.6f,0.3f), OTEasing.ElasticIn); GetComponent<OTSprite>().rotation = GetComponent<OTSprite>().transform.parent.GetComponent<OTObject>().rotation-90f; _tween.TweenAdd("rotation", 120f, OTEasing.Linear); _tween.onTweenFinish = OnTweenFinish; } }
public void Stab(float duration) { if(!_tween.isRunning) { _timer = duration; _state = HandheldItemState.Stab; _tween = new OTTween(GetComponent<OTSprite>(), duration/2f); _tween.TweenAdd("position", new Vector2(0,0.3f), OTEasing.BounceIn); _tween.onTweenFinish = OnTweenFinish; } }
private void OnTweenFinish(OTTween tween) { switch(_state) { case HandheldItemState.Twirl: GetComponent<OTSprite>().rotation = GetComponent<OTSprite>().transform.parent.GetComponent<OTObject>().rotation; break; case HandheldItemState.Stab: _tween = new OTTween(GetComponent<OTSprite>(), _timer/2f); _tween.TweenAdd("position", new Vector2(0,-0.3f), OTEasing.ExpoOut); break; case HandheldItemState.Slash: GetComponent<OTSprite>().rotation = GetComponent<OTSprite>().transform.parent.GetComponent<OTObject>().rotation; _tween = new OTTween(GetComponent<OTSprite>(), _timer/2f); _tween.TweenAdd("position", new Vector2(0.6f,-0.3f), OTEasing.ExpoOut); break; case HandheldItemState.Recoil: _tween = new OTTween(GetComponent<OTSprite>(), _timer/2f); _tween.TweenAdd("position", new Vector2(0,0.2f), OTEasing.ExpoIn); break; case HandheldItemState.Block: _tween = new OTTween(GetComponent<OTSprite>(), CONSTANTS.BaseAttackAnimDuration); _tween.TweenAdd("position", new Vector2(0, -0.5f), OTEasing.ExpoIn); break; case HandheldItemState.Parry: GetComponent<OTSprite>().rotation = GetComponent<OTSprite>().transform.parent.GetComponent<OTObject>().rotation; break; case HandheldItemState.StrikeTarget: GetComponent<OTSprite>().position = new Vector2(0.3f, 0.3f); // do a reset at hero break; } _state = HandheldItemState.Idle; }
public void Twirl(float duration) { if(!_tween.isRunning) { _timer = duration; _state = HandheldItemState.Twirl; _tween = new OTTween(GetComponent<OTSprite>(), duration, OTEasing.Linear); _tween.TweenAdd("rotation", 360f); _tween.onTweenFinish = OnTweenFinish; } }
public void StrikeTarget(OTObject target, float duration) { if(!_tween.isRunning) { _state = HandheldItemState.StrikeTarget; _tween = new OTTween(GetComponent<OTSprite>(), duration); _tween.TweenAdd("position", target.position - GetComponent<OTSprite>().position, OTEasing.BounceIn); _tween.onTweenFinish = OnTweenFinish; } }
public void Stop() { _tween.Stop(); _state = HandheldItemState.Idle; }