Exemple #1
0
    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());
    }
Exemple #2
0
    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();
    }