Ejemplo n.º 1
0
    public void OnReceiveRangeAttackPacket(int node, PacketId id, byte[] data)
    {
        if (m_isHost)
        {
            // 호스트의 몬스터는 실행 완료.
            return;
        }

        // 패킷에서 파라미터를 추출해서 ↓의 코드 스니펫을 호출한다.
        GameObject go = GameObject.FindGameObjectWithTag("Boss");

        if (go != null)
        {
            chrControllerEnemyBoss bossController = go.GetComponent <chrControllerEnemyBoss>();
            if (bossController != null)
            {
                BossRangePacket packet = new BossRangePacket(data);
                BossRangeAttack attack = packet.GetPacket();

                float attackPower = attack.power;
                float attackRange = attack.range;

                Debug.Log("Receive boss quick attack[Power:" + attackPower + " Ramge:" + attackRange + "]");
                bossController.cmdBossRangeAttack(attackPower, attackRange);
            }
        }
    }
Ejemplo n.º 2
0
    public void RequestBossRangeAttack(float attackPower, float attackRange)
    {
        // 호스트 측의 보스를 움직인다 : 이 명령을 로컬의 보스 오브젝트에 바이패스한다.
        GameObject go = GameObject.FindGameObjectWithTag("Boss");

        if (go != null)
        {
            chrControllerEnemyBoss bossController = go.GetComponent <chrControllerEnemyBoss>();

            if (bossController != null)
            {
                bossController.cmdBossRangeAttack(attackPower, attackRange);

                // 게스트 측의 보스를 움직인다. 통신 대응(패킷을 만들어 던진다).
                BossRangeAttack attack = new BossRangeAttack();

                attack.power = attackPower;
                attack.range = attackRange;

                BossRangePacket packet = new BossRangePacket(attack);

                if (m_network != null)
                {
                    int serverNode = m_network.GetServerNode();
                    m_network.SendReliable <BossRangeAttack>(serverNode, packet);
                    Debug.Log("Send boss range attack[Power:" + attackPower + " Ramge:" + attackRange + "]");
                }
            }
        }
    }
Ejemplo n.º 3
0
	public void OnReceiveRangeAttackPacket(int node, PacketId id, byte[] data)
	{
		if (m_isHost) {
			// 호스트의 몬스터는 실행 완료.
			return;
		}

		// 패킷에서 파라미터를 추출해서 ↓의 코드 스니펫을 호출한다.
		GameObject go = GameObject.FindGameObjectWithTag("Boss");
		if (go != null)
		{
			chrControllerEnemyBoss bossController = go.GetComponent<chrControllerEnemyBoss>();
			if (bossController != null)
			{
				BossRangePacket packet = new BossRangePacket(data);
				BossRangeAttack attack = packet.GetPacket();
				
				float attackPower = attack.power;
				float attackRange = attack.range;

				Debug.Log("Receive boss quick attack[Power:" + attackPower + " Ramge:" + attackRange + "]");
				bossController.cmdBossRangeAttack(attackPower, attackRange);
			}
		} 
	}
Ejemplo n.º 4
0
	public void RequestBossRangeAttack(float attackPower, float attackRange)
	{
		// 호스트 측의 보스를 움직인다 : 이 명령을 로컬의 보스 오브젝트에 바이패스한다.
		GameObject go = GameObject.FindGameObjectWithTag("Boss");
		if (go != null)
		{
			chrControllerEnemyBoss bossController = go.GetComponent<chrControllerEnemyBoss>();

			if (bossController != null)
			{

				bossController.cmdBossRangeAttack(attackPower, attackRange);
				
				// 게스트 측의 보스를 움직인다. 통신 대응(패킷을 만들어 던진다).
				BossRangeAttack attack = new BossRangeAttack();

				attack.power = attackPower;
				attack.range = attackRange;

				BossRangePacket packet = new BossRangePacket(attack);

				if (m_network != null)
				{
					int serverNode = m_network.GetServerNode();
					m_network.SendReliable<BossRangeAttack>(serverNode, packet);
					Debug.Log("Send boss range attack[Power:" + attackPower + " Ramge:" + attackRange + "]");
				}
			}
		}
	}