public override bool OnPutDown() { if (GameConfig.IsMultiClient) { if (!Pathea.PeGameMgr.IsMultiCoop && VArtifactUtil.IsInTownBallArea(transform.position)) { new PeTipMsg(PELocalization.GetString(8000864), PeTipMsg.EMsgLevel.Warning); return(true); } if (null != PlayerNetwork.mainPlayer) { PlayerNetwork.mainPlayer.RequestDragTower(itemDragging.itemObj.instanceId, transform.position, transform.rotation); } } else { DragTowerAgent towerAget = new DragTowerAgent(itemDragging, transform.position, transform.rotation); towerAget.Create(); SceneMan.AddSceneObj(towerAget); PeMap.TowerMark towerMask = new PeMap.TowerMark(); towerMask.position = transform.position; towerMask.ID = itemObjectId; towerMask.text = itemDragging.itemObj.protoData.GetName(); towerMask.campId = Mathf.RoundToInt(Pathea.MainPlayer.Instance.entity.GetAttribute(Pathea.AttribType.CampID)); PeMap.LabelMgr.Instance.Add(towerMask); PeMap.TowerMark.Mgr.Instance.Add(towerMask); RemoveFromBag(); } return(base.OnPutDown()); }
void RPC_Tower_InitData(uLink.BitStream stream, uLink.NetworkMessageInfo info) { _pos = transform.position = stream.Read <Vector3>(); rot = transform.rotation = stream.Read <Quaternion>(); ItemObject itemObj = stream.Read <ItemObject>(); if (null == itemObj) { LogManager.Error("Invalid tower item"); return; } //[zhujiangbo] // int itemProtoId = itemObj.protoId; ItemAsset.Drag drag = itemObj.GetCmpt <ItemAsset.Drag>(); if (null == drag) { return; } DragTowerAgent item = new DragTowerAgent(drag, transform.position, Vector3.one, transform.rotation, Id, this); item.Create(); SceneMan.AddSceneObj(item); _entity = EntityMgr.Instance.Get(Id); if (null == _entity) { return; } Pathea.TowerProtoDb.Item tower = Pathea.TowerProtoDb.Get(itemObj.protoData.towerEntityId); if (null != tower) { gameObject.name = tower.name + "_" + Id; } OnSpawned(_entity.GetGameObject()); //OnSkAttrInitEvent += InitForceData; InitMapInfo(); }