コード例 #1
0
        //   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);
            }
        }
コード例 #2
0
        //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);
            }
        }
コード例 #3
0
    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;
    }
コード例 #4
0
        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");
            }
        }