public void ChoosePot(TravelPot pot) { if (state.Pots.IndexOf(pot) == -1) { return; } int index = state.Pots.IndexOf(pot); if (isMovingPlayer) { return; } if (highlightPotIdx != index) { if (highlightPotIdx != -1) { state.Pots[highlightPotIdx].CancelSelect(); } state.Pots[index].Selected(); highlightPotIdx = index; ChangeDetail(pot); } else { if (state.PlayerPotIdx == index) { return; } if (!state.graph.ContainsKey(state.PlayerPotIdx)) { return; } if (state.graph[state.PlayerPotIdx].IndexOf(index) == -1) { return; } isMovingPlayer = true; Vector3 target = state.Pots[index].transform.position; target.z = PawnZ; Tween tween = DOTween.To ( () => PlayerPawn.transform.position, (x) => { PlayerPawn.transform.position = x; //Vector3 cameraPos = PlayerPawn.transform.position; //cameraPos.z = CameraZ; //isMovingMap = true; //CameraToMove = cameraPos; }, target, 0.6f ).OnComplete(delegate { isMovingPlayer = false; state.PlayerPotIdx = index; }); } }
public void ChangeDetail(TravelPot pot) { view.PotName.text = pot.potInfo.Name; view.PotDesp.text = pot.potInfo.Desp; for (int i = 0; i < pot.potInfo.Opts.Count; i++) { view.PotReactList[i].gameObject.SetActive(true); } for (int i = pot.potInfo.Opts.Count; i < view.MaxPotReactNum; i++) { view.PotReactList[i].gameObject.SetActive(false); } }
private void GeneratePots(TravelMapInfo info) { int idx = 0; foreach (Transform child in Pots.transform) { GameObject potGo = mResLoader.Instantiate("Travel/Pot", child); TravelPot pot = potGo.GetComponent <TravelPot> (); pot.Init(info.pots[idx], this); state.Pots.Add(pot); idx += 1; } foreach (int[] edge in info.edges) { GameObject lineGo = mResLoader.Instantiate("Travel/Line", LineLayer); LineRenderer line = lineGo.GetComponent <LineRenderer>(); Vector3 e0 = state.Pots[edge[0]].transform.position; Vector3 e1 = state.Pots[edge[1]].transform.position; Vector3[] positions = { e0 + Vector3.forward, e1 + Vector3.forward }; line.SetPositions(positions); state.lines.Add(line); } PlayerPawn = mResLoader.Instantiate("Travel/pawn"); int startIdx = 0; Vector2 startPos = state.Pots[startIdx].transform.position; PlayerPawn.transform.position = new Vector3(startPos.x, startPos.y, PawnZ); Vector3 cameraPos = ClampPosInBound(startPos); cameraPos.z = mainCamera.transform.position.z; mainCamera.transform.position = cameraPos; }
public void ChangeDetail(TravelPot pot) { travelUI.ChangeDetail(pot); }