void OnDragging(DragInfo dragInfo) { //もうなぞれない if (nowTraceTiles.Count == moveRange) { return; } //タイル上 var tilePosition = TileBase.GetArrayFromRay(dragInfo.pos); if (tilePosition == null) { return; } //まだ未通過 if (IntVect2D.IsEqual(tilePosition, nowTraceTiles.LastOrDefault())) { return; } //まだ未完成 if (moveRange == nowTraceTiles.Count) { return; } //次のタイル if (IntVect2D.IsNeighbor(tilePosition, nowTraceTiles.LastOrDefault()) == false) { return; } nowTraceTiles.Add(tilePosition); BattleStage.Instance.ChangeColor(tilePosition, TileState.Skill); }
//なぞり開始 void OnDraggingStart(DragInfo dragInfo) { isNowAttackable = false; //タイル上 var tilePosition = TileBase.GetArrayFromRay(dragInfo.pos); if (tilePosition == null) { return; } //キャラクターの上 if (IntVect2D.IsEqual(tilePosition, character.positionArray) == false) { return; } BattleStage.Instance.ResetAllTileColor(); nowTraceTiles = new List <IntVect2D>(); nowTraceTiles.Add(tilePosition); BattleStage.Instance.ChangeColor(tilePosition, TileState.Skill); IT_Gesture.onDraggingE += OnDragging; IT_Gesture.onDraggingEndE += OnDraggingEnd; isNowCharge = true; ActionSelect.Instance.DisableMoveAttackButton(); }
void OnDragging(DragInfo dragInfo) { //タイル上 var targetPosition = TileBase.GetArrayFromRay(dragInfo.pos); if (targetPosition == null) { return; } //まだ未通過 if (IntVect2D.IsEqual(targetPosition, nowTraceTiles.LastOrDefault())) { return; } //まだ未完成 if (skillTiles.Count == nowTraceTiles.Count) { return; } //次のタイル if (IntVect2D.IsEqual(targetPosition, IntVect2D.Add(skillTiles[nowTraceTiles.Count], nowTraceTiles[0])) == false) { FailAciton(); return; } nowTraceTiles.Add(targetPosition); BattleStage.Instance.ChangeColor(targetPosition, TileState.Skill); }
public static Character GetCharacterOnTile(Vector2 pos) { var targetPosition = TileBase.GetArrayFromRay(pos); //タイル以外をタップ if (targetPosition == null) { return(null); } //ターゲットの検索 var target = GetCharacterOnTile(targetPosition); //ターゲットが存在しないマスをタップ if (target == null) { return(null); } return(target); }
//なぞり開始 void OnDraggingStart(DragInfo dragInfo) { //タイル上 var targetPosition = TileBase.GetArrayFromRay(dragInfo.pos); if (targetPosition == null) { return; } nowTraceTiles = new List <IntVect2D>(); nowTraceTiles.Add(targetPosition); BattleStage.Instance.ChangeColor(targetPosition, TileState.Skill); IT_Gesture.onDraggingE += OnDragging; IT_Gesture.onDraggingEndE += OnDraggingEnd; isNowCharge = true; }