예제 #1
0
        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;
        }
예제 #2
0
        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);
                }
            }
        }
예제 #3
0
파일: OHook.cs 프로젝트: swiftliang/NewGame
 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;
     }
 }
예제 #4
0
        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;
        }