public void AdvertiseServer() { mResult = null; mRoomCode = GenerateRoomCode(); mNextSubCall = Time.time; mEndTime = Time.time + mFuncTimeoutSec; mAdvertiseServerSubStatus = AdvertiseServerSubStatus.Creating; // Tell Update() to do the work. mAdvertiseServerTriggered = true; }
protected void AdvertiseServer_Update() { if (mAdvertiseServerTriggered) { if (Time.time > mEndTime) { if (mIsDebug) { Debug.Log("ServerLookupWifiDirect: AdvertiseServerUpdate() timeout."); } mResult = "failure"; mAdvertiseServerTriggered = false; } else if (Time.time > mNextSubCall) { if (mAdvertiseServerSubStatus == AdvertiseServerSubStatus.Creating) { if (mIsDebug) { Debug.Log("ServerLookupWifiDirect: Calling CreateNetwork()."); } mWifiP2P.CreateNetwork(); mAdvertiseServerSubStatus = AdvertiseServerSubStatus.Created; mNextSubCall = Time.time + mSubCallCoolDown; } else if (mAdvertiseServerSubStatus == AdvertiseServerSubStatus.Created) { if (mWifiP2P.GetCreateNetworkStatus() == -1) { // Success. Go to next phase. if (mIsDebug) { Debug.Log("ServerLookupWifiDirect: CreateNetwork() success."); } mAdvertiseServerSubStatus = AdvertiseServerSubStatus.Advertising; mNextSubCall = Time.time + mSubCallCoolDown; } else { // Try again. Don't continue further below. if (mIsDebug) { Debug.Log("ServerLookupWifiDirect: CreateNetwork() failure."); } mAdvertiseServerSubStatus = AdvertiseServerSubStatus.Creating; mNextSubCall = Time.time + mSubErrCoolDown; } } else if (mAdvertiseServerSubStatus == AdvertiseServerSubStatus.Advertising) { if (mIsDebug) { Debug.Log("ServerLookupWifiDirect: Calling AdvertiseNetwork()."); } mWifiP2P.AdvertiseNetwork(mRoomCode, mWifiDirectServiceName, mWifiDirectAdvertisedPort); mAdvertiseServerSubStatus = AdvertiseServerSubStatus.Advertised; mNextSubCall = Time.time + mSubCallCoolDown; } else if (mAdvertiseServerSubStatus == AdvertiseServerSubStatus.Advertised) { if (mWifiP2P.GetAdvertiseNetworkStatus() == -1) { // Success. if (mIsDebug) { Debug.Log("ServerLookupWifiDirect: AdvertiseNetwork() success - Room Code: " + mRoomCode + "."); } mResult = mRoomCode; mAdvertiseServerTriggered = false; mAdvertiseServerMaintainTriggered = true; mNextSubCall = Time.time + mAdvertiseCoolDown; } else { // Try again. if (mIsDebug) { Debug.Log("ServerLookupWifiDirect: AdvertiseNetwork() failure."); } mAdvertiseServerSubStatus = AdvertiseServerSubStatus.Advertising; mNextSubCall = Time.time + mSubErrCoolDown; } } } } else if (mAdvertiseServerMaintainTriggered) { // if (Time.time > mNextSubCall) // { // mWifiP2P.AdvertiseNetwork(mRoomCode, mWifiDirectServiceName, mWifiDirectAdvertisedPort); // mNextSubCall = Time.time + mAdvertiseCoolDown; // } } }