public Sprite GetAnimFrame(eAnimDir dir, int frame)
        {
            int dirIdx = (int)dir * m_dirNb / 8; // 8 maximum number of directions

            if (m_dirNb == 4)
            {
                switch (dir)
                {
                case eAnimDir.Right:
                    dirIdx = 1; break;

                case eAnimDir.Left:
                    dirIdx = 3; break;

                case eAnimDir.Down:
                case eAnimDir.Down_Left:
                case eAnimDir.Down_Right:
                    dirIdx = 0; break;

                case eAnimDir.Up:
                case eAnimDir.Up_Left:
                case eAnimDir.Up_Right:
                    dirIdx = 2; break;
                }
            }

            int idx = dirIdx * m_frameNb + frame;

            return(idx >= 0 && idx < animSprites.Length ? animSprites[idx] : null);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Changes the animation direction
 /// </summary>
 /// <param name="vDir"></param>
 public void SetAnimDirection(Vector2 vDir)
 {
     if (vDir.magnitude > Vector2.kEpsilon)
     {
         m_dir = m_dirAnimCtrl.GetAnimDirByVector(vDir);
     }
 }
Ejemplo n.º 3
0
        protected override void Update()
        {
            eAnimDir savedAnimDir = m_animCtrl.AnimDirection;

            base.Update();

            /*
             * if(m_keepAttackDirTimer > 0f)
             * {
             *  m_keepAttackDirTimer -= Time.deltaTime;
             *  m_animCtrl.AnimDirection = savedAnimDir;
             * }
             */
            m_phyChar.enabled = (Vehicle == null);
            if (Vehicle != null)
            {
                m_animCtrl.IsPlaying = false;
            }

            else
            {
                // character mouse direction
                Vector3 dir = Input.mousePosition - Camera.main.WorldToScreenPoint(transform.position);
                if (dir.x > 0)
                {
                    m_animCtrl.AnimDirection = eAnimDir.Right;
                }
                else if (dir.x < 0)
                {
                    m_animCtrl.AnimDirection = eAnimDir.Left;
                }

                if (Input.GetKeyDown("r"))   // mousebuttondown(0)
                {
                    weaponH.Shoot();
                }

                bool isMoving = (m_phyChar.Dir.sqrMagnitude >= 0.01);
                if (isMoving)
                {
                    //m_phyChar.Dir.Normalize();
                    m_camera2DFollowBehaviour.Target = transform;
                }
                else
                {
                    m_phyChar.Dir = Vector3.zero;
                }
            }

            int tileIdx = RpgMapHelper.GetTileIdxByPosition(transform.position);

            if (tileIdx != m_lastTileIdx || m_lastFogSightLength != FogSightLength)
            {
                RpgMapHelper.RemoveFogOfWarWithFade(transform.position, FogSightLength);
            }

            m_lastFogSightLength = FogSightLength;
            m_lastTileIdx        = tileIdx;
        }
 public Sprite GetAnimFrame(int animIdx, eAnimDir dir, int frame)
 {
     if (animIdx >= 0 && animIdx < m_anims.Count)
     {
         return(m_anims[animIdx].GetAnimFrame(dir, frame));
     }
     return(null);
 }
 public void SetAnimDirection(Vector2 vDir)
 {
     if (vDir.magnitude > Vector2.kEpsilon)
     {
         m_dir = m_dirAnimCtrl.GetAnimDirByVector(vDir);
         if (gameObject.GetComponent <PlayerController>() != null)
         {
             //					PlayerCharacter.UpdateDir (m_dir);
         }
     }
 }
Ejemplo n.º 6
0
 void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
 {
     if (stream.isWriting)
     {
         stream.SendNext(m_dir);
     }
     else
     {
         m_dir = (eAnimDir)stream.ReceiveNext();
     }
 }
        public Sprite GetPreviewAnimSprite(Vector2 vDir, int animIdx)
        {
            int frameIdx = (int)(Time.realtimeSinceStartup * m_fps) % m_fpa;

            animIdx = Mathf.Clamp(animIdx, -1, m_anims.Count);
            if (animIdx >= 0)
            {
                eAnimDir dir = GetAnimDirByVector(vDir);
                return(m_anims[animIdx].GetAnimFrame(dir, frameIdx));
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 8
0
        protected override void Update()
        {
            eAnimDir savedAnimDir = m_animCtrl[0].AnimDirection;

            base.Update();

            bool isMoving = (m_phyChar.Dir.sqrMagnitude >= 0.01);

            if (isMoving)
            {
                //m_phyChar.Dir.Normalize();
                m_camera2DFollowBehaviour.Target = transform;
            }
            else
            {
                m_phyChar.Dir = Vector3.zero;
            }
        }
Ejemplo n.º 9
0
        protected override void Update()
        {
            eAnimDir savedAnimDir = m_animCtrl.AnimDirection;

            base.Update();
            if (m_keepAttackDirTimer > 0f)
            {
                m_keepAttackDirTimer    -= Time.deltaTime;
                m_animCtrl.AnimDirection = savedAnimDir;
            }
            m_phyChar.enabled = (Vehicle == null);
            if (Vehicle != null)
            {
                m_animCtrl.IsPlaying = false;
            }
            else
            {
                DoInputs();

                bool isMoving = (m_phyChar.Dir.sqrMagnitude >= 0.01);
                if (isMoving)
                {
                    //m_phyChar.Dir.Normalize();
                    m_camera2DFollowBehaviour.Target = transform;
                }
                else
                {
                    m_phyChar.Dir = Vector3.zero;
                }
            }

            int tileIdx = RpgMapHelper.GetTileIdxByPosition(transform.position);

            if (tileIdx != m_lastTileIdx || m_lastFogSightLength != FogSightLength)
            {
                RpgMapHelper.RemoveFogOfWarWithFade(transform.position, FogSightLength);
            }

            m_lastFogSightLength = FogSightLength;
            m_lastTileIdx        = tileIdx;
        }
Ejemplo n.º 10
0
 public void SetAnimDirection(Vector2 vDir)
 {
     if (vDir.magnitude > Vector2.kEpsilon)
     {
         m_dir = m_dirAnimCtrl.GetAnimDirByVector(vDir);
     }
 }
Ejemplo n.º 11
0
 public Sprite GetCurrentSprite(eAnimDir dir)
 {
     return m_dirAnimCtrl.GetAnim(m_animIdx).GetAnimFrame(dir, CurrentFrame);
 }
 public Sprite GetCurrentSprite(eAnimDir dir)
 {
     return(m_dirAnimCtrl.GetAnim(m_animIdx).GetAnimFrame(dir, CurrentFrame));
 }
        public Sprite GetAnimFrame(eAnimDir dir, int frame)
        {
            int dirIdx = (int)dir * m_dirNb / 8; // 8 maximum number of directions
            if(m_dirNb == 4)
            {
                switch(dir)
                {
                    case eAnimDir.Right:
                        dirIdx = 1; break;
                    case eAnimDir.Left:
                        dirIdx = 3; break;
                    case eAnimDir.Down:
                    case eAnimDir.Down_Left:
                    case eAnimDir.Down_Right:
                        dirIdx = 0; break;
                    case eAnimDir.Up:
                    case eAnimDir.Up_Left:
                    case eAnimDir.Up_Right:
                        dirIdx = 2; break;
                }
            }

            int idx = dirIdx * m_frameNb + frame;
            return idx >= 0 && idx < animSprites.Length ? animSprites[idx] : null;
        }
 public Sprite GetAnimFrame(int animIdx, eAnimDir dir, int frame)
 {
     if(animIdx >= 0 && animIdx < m_anims.Count)
     {
         return m_anims[animIdx].GetAnimFrame(dir, frame);
     }
     return null;
 }
Ejemplo n.º 15
0
        protected override void Update()
        {
            eAnimDir savedAnimDir = m_animCtrl.AnimDirection;

            if (!PhotonView.isMine)
            {
                return;
            }

            base.Update();

            /*
             * if(m_keepAttackDirTimer > 0f)
             * {
             *  m_keepAttackDirTimer -= Time.deltaTime;
             *  m_animCtrl.AnimDirection = savedAnimDir;
             * }
             */
            m_phyChar.enabled = (Vehicle == null);
            if (Vehicle != null)
            {
                m_animCtrl.IsPlaying = false;
            }

            else
            {
                if (Input.GetAxis("Mouse ScrollWheel") != 0f)
                {
                    weaponH.Change();
                }

                // character mouse direction
                Vector3 dir = Input.mousePosition - Camera.main.WorldToScreenPoint(transform.position);
                if (!isForce)
                {
                    if (dir.x > 0)
                    {
                        m_animCtrl.AnimDirection = eAnimDir.Right;
                        if (currentDir == 0)
                        {
                            // right
                            weaponH.reverseDirection(1);
                            currentDir = 1;
                        }
                    }
                    else if (dir.x < 0)
                    {
                        m_animCtrl.AnimDirection = eAnimDir.Left;
                        if (currentDir == 1)
                        {
                            // left
                            weaponH.reverseDirection(0);
                            currentDir = 0;
                        }
                    }
                }

                // 재장전
                if (Input.GetKey("r"))
                {
                    weaponH.Reload();
                }

                // 무기 버리기
                if (Input.GetKey("g"))
                {
                    weaponH.DropGun();
                }

                if (Input.GetMouseButtonDown(0))   // mousebuttondown(0)
                {
                    weaponH.Shoot();
                }

                bool isMoving = (m_phyChar.Dir.sqrMagnitude >= 0.01);
                if (isMoving)
                {
                    //m_phyChar.Dir.Normalize();
                    m_camera2DFollowBehaviour.Target = transform;
                }
                else
                {
                    m_phyChar.Dir = Vector3.zero;
                }
            }

            int tileIdx = RpgMapHelper.GetTileIdxByPosition(transform.position);

            if (tileIdx != m_lastTileIdx || m_lastFogSightLength != FogSightLength)
            {
                RpgMapHelper.RemoveFogOfWarWithFade(transform.position, FogSightLength);
            }

            m_lastFogSightLength = FogSightLength;
            m_lastTileIdx        = tileIdx;
        }