Exemplo n.º 1
0
    ItemDraggingBase CreateGameObj()
    {
        ItemAsset.Drag drag = GetItemDrag();

        if (drag == null)
        {
            return(null);
        }

        GameObject go = drag.CreateDraggingGameObject(null);

        if (null == go)
        {
            return(null);
        }

        ItemDraggingBase dragBase = go.GetComponent <ItemDraggingBase>();

        if (null == dragBase)
        {
            dragBase = go.AddComponent <ItemDraggingArticle>();
            //Debug.LogError("drag item has no ItemDraggingBase: " + go.name);
            //Object.Destroy(go);
            //return null;
        }

        dragBase.itemDragging = drag;

        go.SetActive(true);

        return(dragBase);
    }
Exemplo n.º 2
0
    public static DragArticleAgent PutItemByProroId(int protoId, Vector3 pos, Vector3 scl, Quaternion rot, bool pickable = true, bool attackable = false)
    {
        ItemAsset.Drag drag = CreateItemDrag(protoId);

        if (null == drag)
        {
            Debug.LogError("item has no drag, protoId:" + protoId);
            return(null);
        }

        DragArticleAgent item = DragArticleAgent.Create(drag, pos, scl, rot);

        return(item);
    }
    protected void PutDown(bool isCreation = false)
    {
        ItemAsset.Drag dragging = itemDragging;

        //some item stack count > 1, seed eg.
        if (itemDragging.itemObj.stackCount > 1)
        {
            ItemAsset.ItemObject itemobj = ItemAsset.ItemMgr.Instance.CreateItem(itemDragging.itemObj.protoId);
            dragging = itemobj.GetCmpt <ItemAsset.Drag>();
        }

        /*DragArticleAgent agent = */
        DragArticleAgent.Create(dragging, transform.position, transform.localScale, transform.rotation, SceneMan.InvalidID, null, isCreation);

        RemoveFromBag();
    }
Exemplo n.º 4
0
    public static DragArticleAgent Create(ItemAsset.Drag drag, Vector3 pos, Vector3 scl, Quaternion rot, int id = SceneMan.InvalidID, NetworkInterface net = null, bool isCreation = false)
    {
        DragArticleAgent agent;

        if (isCreation)
        {
            agent = new DragCreationAgent(drag, pos, scl, rot, id, net);
        }
        else
        {
            agent = new DragArticleAgent(drag, pos, scl, rot, id, net);
        }

        agent.Create();
        SceneMan.AddSceneObj(agent);
        return(agent);
    }
Exemplo n.º 5
0
    void RPC_SO_InitData(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        ItemAsset.ItemObject itemObj = stream.Read <ItemAsset.ItemObject>();
        transform.position = stream.Read <Vector3>();
        transform.rotation = stream.Read <Quaternion>();

        if (null == itemObj)
        {
            return;
        }

        ItemAsset.Drag drag = itemObj.GetCmpt <ItemAsset.Drag>();
        if (null == drag)
        {
            return;
        }

        DragArticleAgent item = DragArticleAgent.Create(drag, transform.position, transform.localScale, transform.rotation, Id, this);

        if (item.itemLogic != null)
        {
            DragItemLogicFlag flag = item.itemLogic as DragItemLogicFlag;
            if (flag != null)
            {
                _entity = Pathea.EntityMgr.Instance.Get(Id);
                OnSpawned(flag.gameObject);
            }
        }

        if (null == _flagPos)
        {
            _flagPos            = new PeMap.StaticPoint();
            _flagPos.icon       = PeMap.MapIcon.FlagIcon;
            _flagPos.fastTravel = true;
            _flagPos.text       = "Flag_" + Id;
            //_flagPos.campId = TeamId;
            _flagPos.position = transform.position;

            PeMap.LabelMgr.Instance.Add(_flagPos);
        }

        StartCoroutine(RefreshFlag());
    }
Exemplo n.º 6
0
    void RPC_SO_InitData(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        ItemAsset.ItemObject itemObj = stream.Read <ItemAsset.ItemObject>();
        _pos = transform.position = stream.Read <Vector3>();
        rot  = transform.rotation = stream.Read <Quaternion>();

        if (null == itemObj)
        {
            return;
        }

        ItemAsset.Drag drag = itemObj.GetCmpt <ItemAsset.Drag>();
        if (null == drag)
        {
            return;
        }

        DragArticleAgent item = DragArticleAgent.Create(drag, _pos, transform.localScale, rot, Id, this);

        if (item.itemLogic != null)
        {
            DragItemLogicFlag flag = item.itemLogic as DragItemLogicFlag;
            if (flag != null)
            {
                OnSpawned(flag.gameObject);

                Pathea.PeEntity FlagEntity = flag.gameObject.GetComponent <Pathea.PeEntity>();
                if (null != FlagEntity)
                {
                    Pathea.NetCmpt net = FlagEntity.GetCmpt <Pathea.NetCmpt>();
                    if (null == net)
                    {
                        net = FlagEntity.Add <Pathea.NetCmpt>();
                    }

                    net.network = this;
                }
            }
        }

        OnResetFlag();
    }
Exemplo n.º 7
0
    IEnumerator WaitForMainPlayer()
    {
        while (null == PlayerNetwork.mainPlayer)
        {
            yield return(null);
        }

        if (hasOwnerAuth)
        {
            if (-1 == _missionId && -1 == _targetId)
            {
                ItemAsset.ItemObject item = ItemAsset.ItemMgr.Instance.Get(Id);
                if (null == item)
                {
                    yield break;
                }

                ItemAsset.Drag drag = item.GetCmpt <ItemAsset.Drag>();
                if (null == drag)
                {
                    yield break;
                }

                DragArticleAgent.Create(drag, _pos, Vector3.one, Quaternion.identity, Id, this);
                StartCoroutine(WaitForActivate());
            }
            else
            {
                SceneEntityCreator.self.AddMissionPoint(_missionId, _targetId, Id);
                StartCoroutine(WaitForActivate());
            }
        }
        else
        {
            RPCServer(EPacketType.PT_InGame_TDInitData);
        }
    }
Exemplo n.º 8
0
 public static DragArticleAgent Create(ItemAsset.Drag drag, Vector3 pos)
 {
     return(Create(drag, pos, Vector3.one, Quaternion.identity));
 }
Exemplo n.º 9
0
 public static DragArticleAgent Create(ItemAsset.Drag drag, Vector3 pos, Quaternion rot)
 {
     return(Create(drag, pos, Vector3.one, rot, SceneMan.InvalidID));
 }
Exemplo n.º 10
0
 public DragArticleAgent(ItemAsset.Drag drag, Vector3 pos, Vector3 scl, Quaternion rot, int id, NetworkInterface net = null)
     : base(drag, pos, scl, rot, id, net)
 {
 }
Exemplo n.º 11
0
 public DragTowerAgent(ItemAsset.Drag drag, Vector3 pos)
     : this(drag, pos, Vector3.one, Quaternion.identity, SceneMan.InvalidID)
 {
 }
Exemplo n.º 12
0
 public DragTowerAgent(ItemAsset.Drag drag, Vector3 pos, Quaternion rot)
     : this(drag, pos, Vector3.one, rot, SceneMan.InvalidID)
 {
 }
Exemplo n.º 13
0
 public void SetItemDrag(ItemAsset.Drag itemDrag)
 {
     this.itemDrag = itemDrag;
 }
Exemplo n.º 14
0
 public ItemObjDragging(ItemAsset.Drag drag)
 {
     mDrag = drag;
 }