コード例 #1
0
ファイル: Traveler.cs プロジェクト: BATzerk/Unity-GGJ2016
	private void UpdateLoc () {
		// Update loc!
		float distBetweenMyNodes = Vector2.Distance(nodePrev.transform.localPosition, nodeNext.transform.localPosition);
		loc += speed / distBetweenMyNodes * Time.timeScale;
		
		// Off the line??
		if (loc > 1) {
			// NO next node?? Go back to the source!
			if (nodeNext.nextNodes.Count == 0) {
				OnReachedDeadEnd ();
			}
			// YES next node? Go onto it!
			else {
				// Determine which next node to go to!
				PathNode _nodePrev = nodeNext;
				PathNode _nodeNext = GetProjectedNextNode();
				nodePrev = _nodePrev;
				nodeNext = _nodeNext;
				nodeNext.OnTravelerEnterMe (this);
				loc -= 1;
			}
		}
		else if (loc < 0) {
			PathNode _nodePrev = nodePrev.previousNode;
			PathNode _nodeNext = nodePrev;
			nodePrev = _nodePrev;
			nodeNext = _nodeNext;
			loc += 1;
		}
	}