Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        if (m_isMove)
        {
            m_moveElapseTime += Time.deltaTime;
            if (m_moveElapseTime < m_moveTime * 0.001)
            {
                transform.Translate(m_moveDirection * Time.deltaTime);
            }
            else
            {
                m_moveElapseTime = 0;
                m_isMove         = false;
            }
        }
        else
        {
            var playerDirection = Vector3.Normalize(m_mudTrans.position - this.transform.position);
            var distance        = Vector3.Distance(m_mudTrans.position, this.transform.position);

            if (distance <= m_hideDistance)
            {
                SMsgFightBloodSucking_CS sMsgFightBloodSucking_CS = new SMsgFightBloodSucking_CS();
                sMsgFightBloodSucking_CS.uidFighter = m_SMsgActionDie_SC.uidMuderer;
                sMsgFightBloodSucking_CS.uidTarget  = m_SMsgActionDie_SC.uidEntity;
                sMsgFightBloodSucking_CS.nParam     = m_SMsgActionDie_SC.nParam;

                NetServiceManager.Instance.BattleService.SendBattleBloodSucking(sMsgFightBloodSucking_CS);
                DestroyImmediate(this.gameObject);
            }
            else
            {
                transform.Translate(playerDirection * Time.deltaTime * m_speed);
            }
        }
    }
Beispiel #2
0
 /// <summary>
 /// 发送吸血消息数据处理
 /// </summary>
 public void SendBattleBloodSucking(SMsgFightBloodSucking_CS sMsgFightBloodSucking_CS)
 {
     this.Request(sMsgFightBloodSucking_CS.GeneratePackage(MasterMsgType.NET_ROOT_FIGHT, FightDefineManager.MSG_FIGHT_BATTLE_BLOODSUCKING));
 }