Esempio n. 1
0
        private void OnRecvTakeItem(IChannel channel, Message message)
        {
            SPlayerTake   msg = message as SPlayerTake;
            NetworkEntity item;

            if (msg.clone)
            {
                GameObject go = CloneGameObject(msg.name, msg.itemID);
                if (go == null)
                {
                    return;
                }
                item = networkEntities[msg.itemID];
            }
            else
            {
                item = networkEntities[msg.itemID];
            }
            //thisPlayer.TakeItem(item);
        }
Esempio n. 2
0
        public void TakeItem(Item target)
        {
            SPlayerTake msgTake = new SPlayerTake();

            if (target.forClone)
            {
                Entity clone = World.CreateEntityByName(target.name);
                clone.forClone = false;
                if (target == null)
                {
                    return;
                }
                msgTake.clone  = true;
                msgTake.itemID = clone.entityId;
                msgTake.name   = clone.name;
                target         = (Item)clone;
            }
            else
            {
                msgTake.clone  = false;
                msgTake.itemID = target.entityId;
                msgTake.name   = target.name;
            }

            if (!(target is Item))
            {
                return;
            }
            //msgTake.itemId;
            AddEntity(target);
            connection.Send(msgTake);
            if (target is Weapon && m_weapon == null)
            {
                EquipWeapon((Weapon)target);
            }
        }