public override void Init() { currPos = transform.position; baseYStage = 0; playerState = MAP_PLAYER_STATE.MOVING; typePos = TYPE_GV_POS.POS4; currGvStage = (GVStage)MapScreenManager.Instance.currMap.currStage; if (currGvStage == null) { Debug.Log("wtf"); } sizeX = 0.4f; sizeY = 0.4f; }
public override void Tap() { if (playerState == MAP_PLAYER_STATE.MOVING) { playerState = MAP_PLAYER_STATE.JUMP; velocityY = baseVelocityY; float currPosX = transform.position.x; int right = 0; int left = 0; if (noStage == 1) { right = (int)(Mathf.Abs(6.4f - currPosX - 0.25f - 0.2f) / currGvStage.lengthSegment); left = (int)(Mathf.Abs(6.4f - currPosX - 0.25f + 0.2f) / currGvStage.lengthSegment); } else { right = (int)(Mathf.Abs(currPosX + 6.4f + 0.25f + 0.2f) / currGvStage.lengthSegment); left = (int)(Mathf.Abs(currPosX + 6.4f + 0.25f - 0.2f) / currGvStage.lengthSegment); } if (right < currGvStage.listTypeGVSegment.Length) { float destY = 0; if (right == left) { TYPE_GV_SEGMENT currTypeSegment = currGvStage.listTypeGVSegment[right]; if (typePos == TYPE_GV_POS.POS1) { if (currTypeSegment == TYPE_GV_SEGMENT.LANE12 || currTypeSegment == TYPE_GV_SEGMENT.LANE123 || currTypeSegment == TYPE_GV_SEGMENT.LANE2 || currTypeSegment == TYPE_GV_SEGMENT.LANE23) { // move to pos 2 typePos = TYPE_GV_POS.POS2; } else { // move to pos 4 typePos = TYPE_GV_POS.POS4; } } else if (typePos == TYPE_GV_POS.POS2) { // move to pos 1 typePos = TYPE_GV_POS.POS1; } else if (typePos == TYPE_GV_POS.POS3) { // move to pos 4 typePos = TYPE_GV_POS.POS4; } else if (typePos == TYPE_GV_POS.POS4) { if (currTypeSegment == TYPE_GV_SEGMENT.LANE23 || currTypeSegment == TYPE_GV_SEGMENT.LANE123 || currTypeSegment == TYPE_GV_SEGMENT.LANE2 || currTypeSegment == TYPE_GV_SEGMENT.LANE12) { // move to pos 3 typePos = TYPE_GV_POS.POS3; } else { // move to pos 1 typePos = TYPE_GV_POS.POS1; } } } else { TYPE_GV_SEGMENT rightTypeSegment = currGvStage.listTypeGVSegment[right]; TYPE_GV_SEGMENT leftTypeSegment = currGvStage.listTypeGVSegment[left]; if (typePos == TYPE_GV_POS.POS2) { // move to pos 1 typePos = TYPE_GV_POS.POS1; } else if (typePos == TYPE_GV_POS.POS3) { // move to pos 4 typePos = TYPE_GV_POS.POS4; } else { if (rightTypeSegment == TYPE_GV_SEGMENT.LANE12 || rightTypeSegment == TYPE_GV_SEGMENT.LANE123 || rightTypeSegment == TYPE_GV_SEGMENT.LANE2 || rightTypeSegment == TYPE_GV_SEGMENT.LANE23 || leftTypeSegment == TYPE_GV_SEGMENT.LANE12 || leftTypeSegment == TYPE_GV_SEGMENT.LANE123 || leftTypeSegment == TYPE_GV_SEGMENT.LANE2 || leftTypeSegment == TYPE_GV_SEGMENT.LANE23) { if (typePos == TYPE_GV_POS.POS1) { typePos = TYPE_GV_POS.POS2; } else { typePos = TYPE_GV_POS.POS3; } } else { if (typePos == TYPE_GV_POS.POS1) { typePos = TYPE_GV_POS.POS4; } else { typePos = TYPE_GV_POS.POS1; } } } } if (typePos == TYPE_GV_POS.POS1) { destY = baseYStage + 3; } else if (typePos == TYPE_GV_POS.POS4) { destY = baseYStage + 0.6f; } else if (typePos == TYPE_GV_POS.POS2) { destY = baseYStage + 2.2f; } else if (typePos == TYPE_GV_POS.POS3) { destY = baseYStage + 1.4f; } StartCoroutine(MoveToPos(currPos.y - baseYStage, destY - baseYStage)); } else { playerState = MAP_PLAYER_STATE.MOVING; } } }