/// <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); } }
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}"); }
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); })); }
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); }
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); }
/// <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(); } }
//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); } }