public void TESTINGSlicing(int entityData, Vector3 bladeDir, Vector3 moveDir, Vector3 knifeOrigin)//public void TESTINGSlicing(int entityData, Quaternion rotation, Vector3 pos, Vector3 dir, Vector3 origin) { if (_EntityID_To_NetObject.ContainsKey(entityData)) { // Debug.Log("NotGoing"); KnifeSliceableAsync kSaSync = _EntityID_To_NetObject[entityData].GetComponent <KnifeSliceableAsync>(); kSaSync.PropagatedSlice(bladeDir, moveDir, knifeOrigin); } else { StartCoroutine(WaitForSlicingObject(entityData, bladeDir, moveDir, knifeOrigin)); return; } }
public IEnumerator WaitForSlicingObject(int entityData, Vector3 bladeDir, Vector3 moveDir, Vector3 knifeOrigin) { while (true) { if (!_EntityID_To_NetObject.ContainsKey(entityData)) { yield return(null); Debug.Log("OBJECT DOES NOT EXIST"); } else { yield return(new WaitForSeconds(3)); // yield return new WaitUntil(() => _EntityID_To_NetObject[entityData].GetComponent<Rigidbody>()); KnifeSliceableAsync kSaSync = _EntityID_To_NetObject[entityData].GetComponent <KnifeSliceableAsync>(); kSaSync.PropagatedSlice(bladeDir, moveDir, knifeOrigin); yield break; } } }