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); }
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(); }
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); }
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()); }
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(); }
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); } }
public static DragArticleAgent Create(ItemAsset.Drag drag, Vector3 pos) { return(Create(drag, pos, Vector3.one, Quaternion.identity)); }
public static DragArticleAgent Create(ItemAsset.Drag drag, Vector3 pos, Quaternion rot) { return(Create(drag, pos, Vector3.one, rot, SceneMan.InvalidID)); }
public DragArticleAgent(ItemAsset.Drag drag, Vector3 pos, Vector3 scl, Quaternion rot, int id, NetworkInterface net = null) : base(drag, pos, scl, rot, id, net) { }
public DragTowerAgent(ItemAsset.Drag drag, Vector3 pos) : this(drag, pos, Vector3.one, Quaternion.identity, SceneMan.InvalidID) { }
public DragTowerAgent(ItemAsset.Drag drag, Vector3 pos, Quaternion rot) : this(drag, pos, Vector3.one, rot, SceneMan.InvalidID) { }
public void SetItemDrag(ItemAsset.Drag itemDrag) { this.itemDrag = itemDrag; }
public ItemObjDragging(ItemAsset.Drag drag) { mDrag = drag; }