// List<BzKnife> bzKifesList = new List<BzKnife>(); //TODO IENUMERATORS CANT BE CALLED ON A INACTIVATED OBJECT - WE MESS UP THE ORDER OF NET_OBJECTLIST NOT DOING IT AS SOON AS IT IS DONE THIS WILL NOT WORK //public void OnEnable() //{ // foreach (var kn in bzKifesList) // { // StartCoroutine(Slice(kn)); // } //} private IEnumerator Slice(BzKnife knife) { // The call from OnTriggerEnter, so some object positions are wrong. // We have to wait for next frame to work with correct values yield return(null); Vector3 point = GetCollisionPoint(knife); Vector3 normal = Vector3.Cross(knife.MoveDirection, knife.BladeDirection); Plane plane = new Plane(normal, point); try { if (entityData == null) { entityData = GetComponent <Net_Register_GameObject>().entity_data; } UnityEngine.Debug.Log("Entity ID : " + entityData.entityID + " : " + "BladeDir :" + knife.BladeDirection.ToString("F2") + " MoveDIR: " + knife.MoveDirection.ToString("F2") + "Origin" + knife.Origin.ToString("F2")); } catch { } //To simulate this for everyone else, we need: knife origin, knife movedirection and knife blade direction if (_sliceableAsync != null) { _sliceableAsync.Slice(plane, knife.SliceID, null); } }
//wrong? private void SliceNew(BzKnife knife) { // The call from OnTriggerEnter, so some object positions are wrong. // We have to wait for next frame to work with correct values // yield return null; // print("I AM PRESENT"); //CHANGE GETCOLLISION SECOND ARGUMENT YOU ARE REFERING TO THE MAIN OBJECT ALREADY Vector3 point = GetCollisionPoint(knife);//GetCollisionPointNew(knife, knife.CustomCollisionPoint); Vector3 normal = Vector3.Cross(knife.MoveDirection, knife.BladeDirection); Plane plane = new Plane(normal, point); // print("I AM PRESENT"); entityData = GetComponent <Net_Register_GameObject>().entity_data; // UnityEngine.Debug.Log("Entity ID : " + entityData.entityID + " : " + "BladeDir :" + knife.BladeDirection + " MoveDIR: " + knife.MoveDirection + "Origin" + knife.Origin); UnityEngine.Debug.Log("Entity ID : " + entityData.entityID + " : " + "BladeDir :" + knife.BladeDirection.ToString("F2") + " MoveDIR: " + knife.MoveDirection.ToString("F2") + "Origin" + knife.Origin.ToString("F2")); if (_sliceableAsync != null) { // print("I AM PRESENT"); _sliceableAsync.Slice(plane, knife.SliceID, null); } else { _sliceableAsync = GetComponent <IBzSliceableNoRepeat>(); entityData = GetComponent <Net_Register_GameObject>().entity_data; _sliceableAsync.Slice(plane, knife.SliceID, null); } }
public void Instantiate(int positionWithinURL_Index) { this.positionWithin_urlList = positionWithinURL_Index; entity_data = ScriptableObject.CreateInstance <EntityData_SO>(); entity_data.current_Entity_Type = Entity_Type.objects; entity_data.clientID = (uint)NetworkUpdateHandler.Instance.client_id; //// ENTITYID DERIVED EXAMPLE = CLIENTID - 65, ENTITY TYPE - 3, Count - 1 = ENTITYID 6531 entity_data.entityID = (111 * 1000) + ((int)Entity_Type.objects * 100) + (ClientSpawnManager.Instance._EntityID_To_NetObject.Count);//1111 + ((int)Entity_Type.objects * 10000); //Convert.ToUInt32(string.Format("{0}{1}{2}",1111, (uint)Entity_Type.objects, (uint)ClientSpawnManager.Instance._net_object_ID_List.Contains)); ClientSpawnManager.Instance.RegisterNetWorkObject(entity_data.entityID, this); isRegistered = true; }
void Start() { if (_sliceableAsync == null) { _sliceableAsync = GetComponentInParent <IBzSliceableNoRepeat>(); } // templateKnife = new BzKnife(); try { if (entityData == null) { entityData = GetComponent <Net_Register_GameObject>().entity_data; } } catch { print("Could not Locate EntityData From Net_Register"); } }