public virtual void Init(HookPos hookPos) { _level = Game.Instance.level; _transHook = transform.FindChild("Hook"); int i; _allHooks = new SingleHook[5]; for (i = 0; i < 5; i++) { _allHooks[i] = new SingleHook(_transHook.GetChild(i), _transHook.GetChild(i).Find("Hook_Bottom_end")); } _lineInit(); _fW = 2 * Mathf.PI / fSwingCycle / 1000; _fP = 0; _fBottomBoundaryY = -FishingCamera.Instance.HEIGHT / 200f; _fRightBoundaryX = FishingCamera.Instance.WIDTH / 200f; _fLeftBoundaryX = -_fRightBoundaryX; _fOriginalDistance = Vector3.Distance(transform.position, _transHook.position); _vec3OriginalHookLocalPos = _transHook.localPosition; HookFsm = new FSM <BaseHook>(this); //hook position("left" or "right"?) this.hookPos = hookPos; }
public void DragFish() { int i; for (i = 0; i < _activatedHooks.Count; i++) { SingleHook hook = _activatedHooks[i]; if (hook.fish != null) { hook.fish.SetPos(hook.transHookBottomEnd.position - hook.mouthLocalPositionInWorld); } } }
public override void GotFish(int fishId) { if (_level.fishMgr.fishes.ContainsKey(fishId)) { IFish fish = _level.fishMgr.fishes[fishId]; _level.fishMgr.fishes.Remove(fishId); _hookedFishes.Add(fishId, fish); fish.OnGotFish(); //fish.RemoveLottery(); SingleHook hook = _activatedHooks[_hookedFishes.Count - 1]; hook.fish = fish; fish.SHook = hook; Vector3 vec3DirectionToTop = Vector3.Normalize(hook.transHookTopEnd.position - hook.transHookBottomEnd.position); fish.SetRotaion(Quaternion.LookRotation(vec3DirectionToTop, Vector3.back)); hook.mouthLocalPositionInWorld = fish.Mouth.position - (fish as MonoBehaviour).transform.position; } }
public override void GotFish(int fishId) { _nCountOfApplyedTouchFishes--; IFish fish = _waitForResultFishs[fishId]; _waitForResultFishs.Remove(fishId); _hookedFishes.Add(fishId, fish); fish.OnGotFish(); //fish.RemoveLottery(); //Couple hook and fish SingleHook hook = _activatedHooks[_hookedFishes.Count - 1]; hook.fish = fish; fish.SHook = hook; Vector3 vec3DirectionToTop = Vector3.Normalize(hook.transHookTopEnd.position - hook.transHookBottomEnd.position); fish.SetRotaion(Quaternion.LookRotation(vec3DirectionToTop, Vector3.back)); hook.mouthLocalPositionInWorld = fish.Mouth.position - (fish as MonoBehaviour).transform.position; }