public void PullRope() { RopePullGame.RopePullRope.Instance.PullRope((int)_playerLookDirection * OwnCharacter.status.strength * PowerOffset); OwnCharacter.PullRopeAutoRelease(); _outlineshader.PlayLineEffect(); AudioManager.Instance.PlaySound(eSoundId.Pull); }
public void NetworkPullRope() { if (NetworkManager.Instance.isOwnHost) { NetworkManager.Instance.SendRequestRopePull(OwnCharacter.status.strength * -1); } else { NetworkManager.Instance.SendRequestRopePull(OwnCharacter.status.strength); } OwnCharacter.PullRopeAutoRelease(); _outlineshader.PlayLineEffect(); AudioManager.Instance.PlaySound(eSoundId.Pull); }
public void NetworkDecideTargetPos(Vector2 NetworktargetPos) { targetPos = NetworktargetPos; OwnCharacter.StartRun(); MoveState = ePlayerState.Move; #region DecideDirection if (OwnCharacter.transform.position.x < targetPos.x) { SetFlipCharacter(false); } else { SetFlipCharacter(true); } #endregion }
void Update() { // ePlayerState의 Stop을 사용하면 안됨, Farm Scene에서 의도하지 않은 일이 벌어질 수 있음 if (MoveState == ePlayerState.Move) { if (OwnCharacter != null) { if ((Vector2)transform.position == targetPos) { OwnCharacter.EndRun(); MoveState = ePlayerState.Stop; _outlineshader.StopWalkEffect(); return; } MoveToTargetPos(); _outlineshader.PlayWalkEffect(); } } }
public void SetTargetPosition(LandTile landTile) { OwnCharacter.StartRun(); if (FriendFarmManager.Instance == null) { LeaveTile(); } _targetPosition = landTile.transform.position; _targetPosition.z = transform.localPosition.z; _currentLandTile = landTile; _farmState = eFarmState.Move; if (OwnCharacter.transform.position.x < _targetPosition.x) { SetFlipCharacter(false); } else { SetFlipCharacter(true); } }
public void DecideTargetPos(Vector3 clickPos) { targetPos = (Vector2)mainCam.ScreenToWorldPoint(clickPos); if (!NetworkManager.Instance.IsSinglePlay()) { NetworkManager.Instance.SendRequestMove(targetPos.x, targetPos.y, 0); } OwnCharacter.StartRun(); MoveState = ePlayerState.Move; #region DecideDirection if (OwnCharacter.transform.position.x < targetPos.x) { SetFlipCharacter(false); } else { SetFlipCharacter(true); } #endregion }
void EnterTile() { OwnCharacter.EndRun(); if (FriendFarmManager.Instance != null) { return; } Point currentPoint = _currentLandTile.MapPoint; MapData.Instance.CurrentFarmerPoint = currentPoint; _currentLandTile.Highlight = true; _currentProductTile = ObjectTileManager.Instance.GetProductTileAtPoint(currentPoint); float grownSpeed = 0.0f; switch (_currentLandTile.Type) { case LandTile.BadlandType: grownSpeed = LandTile.BadlandGrownSpeedScale; break; case LandTile.GrassType: grownSpeed = LandTile.GrassGrownSpeedScale; break; case LandTile.CultivateType: grownSpeed = LandTile.CultivateGrownSpeedScale; break; default: Debug.LogWarning("Unknown Land Type!"); break; } FarmUIManager.Instance.UpdateLandTileChangeInteract(_currentLandTile.Type); if (ObjectTileManager.Instance.HasObjectTileAtPoint(currentPoint)) { if (ObjectTileManager.Instance.GetObjectTileTypeAtPoint(currentPoint) == ObjectTile.ETileType.Garbage) { _currentGarbageTile = ObjectTileManager.Instance.GetGarbageTileAtPoint(currentPoint); FarmUIManager.Instance.GarbageTileFuncButtonInteract(_currentGarbageTile.GetGarbageData()); } else { FarmUIManager.Instance.ObjectTileFuncButtonInteract(false); } } else { FarmUIManager.Instance.UpdatePlantProductEffectText(grownSpeed); FarmUIManager.Instance.ObjectTileFuncButtonInteract(true); } if (_currentProductTile != null) { // 수확 기능 if (_currentProductTile.CanHarvest) { FarmUIManager.Instance.HarvestButtonActive = true; } else { StartCoroutine(CheckCanHarvestEverySeconds()); } // 상단 FarmUIManager.Instance.ProductInfoGroupActive = true; FarmUIManager.Instance.SetProductInfoData(_currentProductTile.ProductData, grownSpeed); } }