// Update is called once per frame void Update() { if (!m_SpawnRun) { return; } if (m_ManagementTarget != null) { if (m_ManagementTarget.m_Live == Object.E_LIVE.DEAD) { ++m_DeadCount; TimerNet.SetTimer_s(m_TimerKey, false); m_ManagementTarget = null; } return; } if (m_CurrentSpawnCount < m_SpawnCount && TimerNet.GetTimer(m_TimerKey) <= 0.0f) { if (PhotonNetwork.IsMasterClient) { GameObject g = PhotonNetwork.InstantiateSceneObject(m_FilePath + "/" + m_MonsterPrefab.name, transform.position, Quaternion.Euler(0.0f, 180.0f, 0.0f)); if (g) { m_ManagementTarget = g.GetComponent <Character>(); PhotonView view = g.GetComponent <PhotonView>(); m_PhotonView.RPC("SetManagementTarget_RPC", RpcTarget.AllViaServer, view.ViewID); TimerNet.SetTimer_s(m_TimerKey, m_SpawnDelay, true); } } } }
void SetNextGameSequence(float _WaitTime = 0.0f) { m_SequenceProgress[(int)m_GameSequence] = true; if (PhotonNetwork.IsMasterClient && _WaitTime != 0.0f) { TimerNet.SetTimer_s(m_SequenceTimerKey, _WaitTime); } SetGameSequence(m_GameSequence); }
void SetManagementTargetEvent(int _ViewID) { ++m_CurrentSpawnCount; PlayParticle(); PhotonView view = PhotonView.Find(_ViewID); if (view) { Character c = view.gameObject.GetComponent <Character>(); if (c) { m_ManagementTarget = c; m_ManagementTarget.SetFreeze(0.5f); TimerNet.SetTimer_s(m_TimerKey, m_SpawnDelay, false); } } }
public override void SpawnRun() { m_SpawnRun = true; TimerNet.SetTimer_s(m_TimerKey, 2.0f, false); }