Example #1
0
        // Update is called once per frame
        void Update()
        {
            if (_character == null)
            {
                Start();
            }
            _bodyView.AnimationName      = _character.m_pInfo.m_pCurrentStateData.animation_name;
            _bodyView.Frame              = _character.m_pInfo.m_iCurrentFrame;
            this.transform.localPosition = new Vector3(_character.Position.x / 100, _character.Position.y / 100, GameViewDefine.Z_ZSORT_LAYER);
            Body.localScale              = new Vector3(_character.m_pInfo.m_iFacing, 1, 1);
            float characterAngle = _character.CalcObjectAngle();

            Body.eulerAngles      = new Vector3(0, 0, characterAngle);
            AttackAngle           = _character.GetFireAngle() + characterAngle;
            FireAngle.eulerAngles = new Vector3(0, 0, AttackAngle);
            Hp               = _character.m_pInfo.m_iHP;
            MoveEnergy       = _character.m_pInfo.m_iMoveEnergy;
            AttackEnergy     = _character.m_pInfo.m_iBombSpeed;
            HpProgress.Value = _character.m_pInfo.m_iHP * 1.0f / _character.m_pInfo.m_iMaxHP;
            ControllerArrows.gameObject.SetActive(_character.m_pInfo.m_bIsInRound & (_emojiCd <= 0) & (_messageCd <= 0));

            if (Mathf.Abs(Hp - _preHp) > 1f)
            {
                int diff = (int)(_preHp - Hp);
                _preHp     = Hp;
                _countdown = 1f;
                Damage.gameObject.SetActive(true);
                ShowDamage(diff);
                Damage.localPosition = new Vector3(0, _character.m_pInfo.m_pInstructionData.be_attack_box_max_y / 100.0f + 1f, 0);
            }
            if (_countdown <= 0f)
            {
                Damage.gameObject.SetActive(false);
            }
            else
            {
                _countdown           -= Time.deltaTime;
                Damage.localPosition += new Vector3(0f, 2f, 0f) * Time.deltaTime;
            }

            if (_character.m_pInfo.EmojiID != 0)
            {
                ShowEmoji(_character.m_pInfo.EmojiID);
                _character.m_pInfo.EmojiID = 0;
            }
            if (_emojiCd <= 0f)
            {
                Emoji.gameObject.SetActive(false);
            }
            else
            {
                _emojiCd -= Time.deltaTime;
            }
            if (_character.m_pInfo.MessageID != 0)
            {
                ShowMessage(_character.m_pInfo.MessageID);
                _character.m_pInfo.MessageID = 0;
            }
            if (_messageCd <= 0f)
            {
                MessageBg.gameObject.SetActive(false);
            }
            else
            {
                _messageCd -= Time.deltaTime;
            }
        }