/// <summary>
    /// 创建掉落物协议
    /// </summary>
    /// <param name="respond"></param>
    public void CreateDropItemByRespond(s2cSyncPersonalDrop respond)
    {
        if (respond.DropList.Count <= 0)
        {
            /// Debug.Log("CreateDropItemByRespond:the drop_list.Count <= 0");
            return;
        }

        if (respond.IsMapSync == false)
        {
            int index = Random.Range(0, 2);
            WwiseUtil.PlaySound(WwiseManager.voiceComboID, index == 0 ? WwiseMusicSpecialType.SpecialType_Voice_minera_event3 : WwiseMusicSpecialType.SpecialType_Voice_minera_event4, WwiseMusicPalce.Palce_1st, false, null);
        }

        ulong parentid = 0;

        foreach (var item in respond.DropList)
        {
            string key = item.MapId.ToString() + item.AreaUid.ToString() + item.ChestNpcUid.ToString();
            if (!m_GatherDropItemInfos.ContainsKey(key))
            {
                MineDropItemInfo mineDropItemInfo = new MineDropItemInfo();
                mineDropItemInfo.mapid     = item.MapId;
                mineDropItemInfo.areaid    = item.AreaUid;
                mineDropItemInfo.uid       = item.ChestNpcUid;
                mineDropItemInfo.tid       = item.ChestNpcTid;
                mineDropItemInfo.item_tid  = item.DropItemTid;
                mineDropItemInfo.ship_tlv  = item.ShipTlv;
                mineDropItemInfo.parentid  = item.FromHeroUid;
                mineDropItemInfo.positon_x = item.PositonX;
                mineDropItemInfo.positon_y = item.PositonY;
                mineDropItemInfo.positon_z = item.PositonZ;
                if (parentid == 0)
                {
                    parentid = mineDropItemInfo.parentid;
                }

                uint  mapId  = m_CfgEternityProxy.GetCurrentMapData().GamingmapId;
                ulong aredId = m_GameplayProxy.GetCurrentAreaUid();

                if (mapId == item.MapId && aredId == item.AreaUid)
                {
                    CreateDropItem(key, mineDropItemInfo, respond.IsMapSync == false);
                }
            }
        }

        /// 新掉落播音效
        if (respond.IsDieDrop == false && respond.IsMapSync == false && parentid != 0)
        {
            SpacecraftEntity spacecraftEntity = m_GameplayProxy.GetEntityById <SpacecraftEntity>((uint)parentid);
            spacecraftEntity.SendEvent(ComponentEventName.PlayDropSound, null);
        }
    }
Exemple #2
0
    public void ShowName()
    {
        Eternity.FlatBuffer.Map mapData = m_CfgEternityProxy.GetCurrentMapData();
        ulong area = Map.MapManager.GetInstance().GetCurrentAreaUid();

        m_MapName.text  = TableUtil.GetLanguageString($"gamingmap_name_{mapData.GamingmapId}");
        m_AreaName.text = "-- " + TableUtil.GetLanguageString($"area_name_{mapData.GamingmapId}_{area}");
    }
Exemple #3
0
    public override void OnShow(object msg)
    {
        base.OnShow(msg);

        Eternity.FlatBuffer.Map mapData = m_CfgEternityProxy.GetCurrentMapData();
        m_Text.text = TableUtil.GetLanguageString($"gamingmap_name_{mapData.GamingmapId}");
        m_Coroutine = UIManager.Instance.StartCoroutine(Excute(5.0f, () =>
        {
            UIManager.Instance.ClosePanel(this);
        }));
    }
    /// <summary>
    /// 设置区域名
    /// </summary>
    public void SetAraeName()
    {
        Eternity.FlatBuffer.Map mapData = m_CfgEternityProxy.GetCurrentMapData();
        ulong area = Map.MapManager.GetInstance().GetCurrentAreaUid();

        m_Text.text = TableUtil.GetLanguageString($"area_name_{mapData.GamingmapId}_{area}");

        m_Coroutine = UIManager.Instance.StartCoroutine(Excute(5.0f, () =>
        {
            UIManager.Instance.ClosePanel(this);
        }));
    }
Exemple #5
0
 public void OnRefresh()
 {
     if (m_PointDic.Count == 0)
     {
         Eternity.FlatBuffer.Map mapData = m_CfgEternityProxy.GetCurrentMapData();
         m_MissionTrackings = m_TaskTrackingProxy.GetAllTrackings();
         m_TeamMembers      = m_TeamProxy.GetMembersList();
         DrawMap(mapData.BelongFixedStar);
         OwnerView.FocusTo(m_CurrentCell.gameObject);
     }
     m_Title.text = TableUtil.GetLanguageString("mapstar_title_1001");
     m_AreaPointContainer.DOLocalMove(Vector3.zero, 0.5F).SetEase(Ease.OutExpo);
 }
Exemple #6
0
    public override void OnShow(object msg)
    {
        base.OnShow(msg);
        m_CfgEternityProxy  = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy;
        m_CfgStarmapProxy   = GameFacade.Instance.RetrieveProxy(ProxyName.CfgStarmapProxy) as CfgStarmapProxy;
        m_TaskTrackingProxy = GameFacade.Instance.RetrieveProxy(ProxyName.TaskTrackingProxy) as TaskTrackingProxy;
        m_TeamProxy         = GameFacade.Instance.RetrieveProxy(ProxyName.TeamProxy) as TeamProxy;
        m_MissionProxy      = GameFacade.Instance.RetrieveProxy(ProxyName.MissionProxy) as MissionProxy;
        if (msg is MsgStarmapPanelState)
        {
            m_Data = (msg as MsgStarmapPanelState).Data as EditorPlanet;
        }
        else
        {
            Eternity.FlatBuffer.Map mapData = m_CfgEternityProxy.GetCurrentMapData();
            m_Data = m_CfgStarmapProxy.GetPlanet(mapData.BelongFixedStar, mapData.GamingmapId);
        }
        m_PointDic = new Dictionary <ulong, StarAreaElement>();
        m_Lines    = new List <GameObject>();

        LoadViewPart(ASSET_ADDRESS, OwnerView.OtherBox);
    }
Exemple #7
0
    /// <summary>
    /// 切换地图
    /// </summary>
    /// <param name="buf">协议内容</param>
    private void OnSwitchMap(KProtoBuf buf)
    {
        S2C_SWITCH_MAP respond = buf as S2C_SWITCH_MAP;

        CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy;

        if (cfgEternityProxy.GetCurrentMapData().ByteBuffer == null || cfgEternityProxy.GetCurrentMapId() != respond.mapID)
        {
            uint gamingMapId = respond.mapID;
            GameFacade.Instance.SendNotification(NotificationName.MSG_SWITCH_SCENE_START);

            cfgEternityProxy.SetCurrentMapData(gamingMapId);

            Vector3          worldPos         = new Vector3(respond.posX, respond.posY, respond.posZ);
            ulong            areaId           = respond.area_id;
            GameMainMediator gameMainMediator = GameFacade.Instance.RetrieveMediator(UIPanel.GameMainMediator) as GameMainMediator;
            if (gameMainMediator == null)
            {
                gameMainMediator = new GameMainMediator();
                GameFacade.Instance.RegisterMediator(gameMainMediator);
                gameMainMediator.SwtichMap(areaId, worldPos);
            }
            else
            {
                gameMainMediator.SwtichMap(areaId, worldPos);
            }

            // TODO.
            //切图直接清缓存
            MSAIBossProxy aiproxy = GameFacade.Instance.RetrieveProxy(ProxyName.MSAIBossProxy) as MSAIBossProxy;
            aiproxy.CleanAllMonster();

            MineDropItemManager.Instance.ClearAllInfo();
            DropItemManager.Instance.ClearInfo();
        }
    }
Exemple #8
0
    //private void OnCollisionEnter(Collision obj)
    //{
    //    OnSpacecraftSlidingEnd();
    //}

    //private void OnCollisionStay(Collision obj)
    //{
    //}

    //private void OnCollisionExit(Collision obj)
    //{
    //}

    //private void OnRelive(IComponentEvent obj)
    //{
    //    m_DeadFxState = DeadState.None;

    //    RealTimerUtil.Instance.Unregister(m_ShowDeadFxTimerId);
    //}

    private void OnDead(IComponentEvent obj)
    {
        DeadEvent deadEvent = obj as DeadEvent;

        if (!m_SpacecraftDeadProperty.IsDead())
        {
            return;
        }

        m_DropInfoList = deadEvent.DropList;

        /// TODO.宝藏特殊处理
        /// 服务器创建后立马死亡
        //if (m_SpacecraftDeadProperty.IsNotHaveAva())
        //{
        //	if (m_DropInfoList != null && m_DropInfoList.Count > 0)
        //	{
        //		DropItemManager.Instance.SetDropItemInfoByDeath(m_SpacecraftDeadProperty.UId(), m_DropInfoList);
        //	}
        //	return;
        //}

        /// npc死亡
        if (m_SpacecraftDeadProperty.GetHeroType() != KHeroType.htPlayer)
        {
            Npc npcVO = m_SpacecraftDeadProperty.GetNPCTemplateVO();
            if (npcVO.SoundDead > 0)
            {
                SendEvent(ComponentEventName.PlaySound, new PlaySound()
                {
                    SoundID = (int)npcVO.SoundDead
                });
            }
            /// 导演死检查音乐盒子
            if (m_SpacecraftDeadProperty.GetHeroType() == KHeroType.htPlotMonster)
            {
                MSAIBossProxy msab = GameFacade.Instance.RetrieveProxy(ProxyName.MSAIBossProxy) as MSAIBossProxy;
                msab.DestroySoundBox(m_SpacecraftDeadProperty.UId());
            }
            /// TODO.干扰器死亡
            else if (m_SpacecraftDeadProperty.GetHeroType() == KHeroType.htDisturbor)
            {
                /// 自己的停掉
                SpacecraftEntity ownerEntity = m_SpacecraftDeadProperty.GetOwner();
                ownerEntity.SendEvent(ComponentEventName.PlaySound, new PlaySound()
                {
                    SoundID   = (int)WwiseMusic.Treasure_Disturbor_Sound5,
                    Transform = ownerEntity.GetSkinTransform()
                });

                TreasureHuntProxy treasure = GameFacade.Instance.RetrieveProxy(ProxyName.TreasureHuntProxy) as TreasureHuntProxy;
                treasure.DisturborSoundEffect(m_SpacecraftDeadProperty.GetOwner().m_EntityFatherOwnerID);
            }
        }

        m_SpacecraftDeadProperty.SetTarget(null, null);

        #region 待服务器在new_hero协议中添加复活状态逻辑后删除
        if (m_SpacecraftDeadProperty.IsMain())
        {
            m_GameplayProxy = GameFacade.Instance.RetrieveProxy(ProxyName.GameplayProxy) as GameplayProxy;

            if (m_SpacecraftDeadProperty.IsMain())
            {
                CfgEternityProxy eternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy;
                m_GameplayProxy.SetDeadMapID(eternityProxy.GetCurrentMapData().GamingmapId);
            }
        }
        #endregion

        ShowRelivePanel(deadEvent);

        SpacecraftPresentation presentation = m_SpacecraftDeadProperty.GetPresentation();
        if (presentation != null)
        {
            if (presentation.SpacecraftDeadType != SpacecraftPresentation.SpacecraftType.Warship)
            {
                OnDeviceDead(deadEvent);
            }
        }
    }
    /// <summary>
    /// 重建所有跳点
    /// </summary>
    private void ResetJumpPoints()
    {
        CfgEternityProxy      eternityProxy     = Facade.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy;
        GameLocalizationProxy localizationProxy = Facade.RetrieveProxy(ProxyName.GameLocalizationProxy) as GameLocalizationProxy;

        m_LeapCfgs.Clear();

        int index = 0;

        Eternity.FlatBuffer.Map map = eternityProxy.GetCurrentMapData();
        for (int i = 0; i < map.AreaListLength; i++)
        {
            Eternity.FlatBuffer.Area area = map.AreaList(i).Value;
            for (int j = 0; j < area.LeapListLength; j++)
            {
                LeapItem leapVO = area.LeapList(j).Value;

                m_LeapCfgs.Add(leapVO);

                if (index >= m_PointBox.childCount)
                {
                    Object.Instantiate(m_PointTemplate, m_PointBox);
                }

                if (index >= m_ArrowBox.childCount)
                {
                    Object.Instantiate(m_ArrowTemplate, m_ArrowBox);
                }

                Transform leapPointItem = m_PointBox.GetChild(index);
                Image     icon          = leapPointItem.Find("Icon/Image_Icon").GetComponent <Image>();
                TMP_Text  nameField1    = leapPointItem.Find("JumpTips/TextBox/Name").GetComponent <TMP_Text>();
                TMP_Text  distanceField = leapPointItem.Find("JumpTips/TextBox/Distance").GetComponent <TMP_Text>();

                Transform leapPointArrow = m_ArrowBox.GetChild(index);
                Image     arrowIcon      = FindComponent <Image>(leapPointArrow, "Icon");

                if (leapVO.IconConfId == 0)
                {
                    UIUtil.SetIconImage(icon, 31320);

                    arrowIcon.gameObject.SetActive(false);
                }
                else
                {
                    UIUtil.SetIconImage(icon, leapVO.IconConfId);

                    arrowIcon.gameObject.SetActive(true);
                    UIUtil.SetIconImage(arrowIcon, leapVO.IconConfId);
                }

                nameField1.text    = localizationProxy.GetString("leap_name_" + eternityProxy.GetCurrentGamingMapId() + "_" + leapVO.LeapId);
                distanceField.text = "";

                //Debug.LogError("LeapType : "+leapVO.LeapType+", LeapID : " + leapVO.LeapId + " , MainLeapId : " + leapVO.MainLeapId + ", Name : " + nameField1.text + ", VisibleLeapList[" + string.Join(",", leapVO.GetVisibleLeapListArray()) + "]");

                index++;
            }
        }

        for (int i = m_PointBox.childCount - 1; i >= index; i--)
        {
            m_PointBox.GetChild(i).gameObject.SetActive(false);
        }

        for (int i = m_ArrowBox.childCount - 1; i >= index; i--)
        {
            m_ArrowBox.GetChild(i).gameObject.SetActive(false);
        }
    }