private void OnRemoveSceneObj(KProtoBuf buffer) { S2C_REMOVE_SCENE_OBJ respond = buffer as S2C_REMOVE_SCENE_OBJ; Debug.LogWarningFormat("====》删除UId为{0}的实体", respond.objID); if (DropItemManager.Instance.CheckDropItemPickUpSuccess(respond.objID)) { //Debug.LogErrorFormat("OnRemoveSceneObj 1 {0}", respond.objID); DropItemManager.Instance.DestoryChestGameObject(respond.objID); UIManager.Instance.StartCoroutine(DelayToRemoveEntityBecauseOfDropItem(respond.objID)); } else { BaseEntity baseEntity = m_EntityManager.GetEntityById <BaseEntity>(respond.objID); ShipItemsProxy shipItemsProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipItemsProxy) as ShipItemsProxy; shipItemsProxy.RemoveShipItems(respond.objID); if (baseEntity == null) { Debug.LogErrorFormat("客户端无法找到UID为{0}的实体", respond.objID); return; } ulong uid = 0; if (baseEntity.GetHeroType() == KHeroType.htPlayer) { uid = baseEntity.GetPlayerId(); } //NetworkManager.Instance.GetDropItemController().GetDropItemManager().AddDestroyEffect(respond.objID); m_EntityManager.RemoveEntity(respond.objID); GameFacade.Instance.SendNotification(NotificationName.MSG_TEAM_BATTLE_UPDATE, uid); //发送组队队员离开 } }
/// <summary> /// 获取其他玩家的信息 /// </summary> /// <param name="id"></param> private void GetShipData(ulong id) { //Debug.LogError("收到玩家信息"+id); ShipItemsProxy shipItemsProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipItemsProxy) as ShipItemsProxy; // 飞船的 IShip ship = shipItemsProxy.GetCurrentWarShip(id); if (ship != null) { FriendInfoVO vO = m_FriendProxy.GetFriend(id); if (vO != null) { MsgPlayerInfo msgPlayerInfo = new MsgPlayerInfo(); msgPlayerInfo.Name = vO.Name; msgPlayerInfo.Tid = vO.TID; msgPlayerInfo.UID = vO.UID; msgPlayerInfo.Ship = ship; m_LeftSelectIndex = (int)m_SocialSubClass; //OwnerView.OpenChildPanel(UIPanel.EscWatchPanel, msgPlayerInfo); } } else { Debug.Log("船的信息为空"); } }
/// <summary> /// 好友当前状态 /// </summary> /// <param name="buf">协议内容</param> private void OnSyncPlayerInfoBack(KProtoBuf buf) { S2C_SYNC_PLAYERINFO msg = buf as S2C_SYNC_PLAYERINFO; ShipItemsProxy shipItemsProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipItemsProxy) as ShipItemsProxy; shipItemsProxy.InitShipItemsByByRespond(msg); }
private void OnSyncFightShipItems(KProtoBuf buf) { S2C_SYNC_FIGHTSHIP_VISIBLE_ITEM_LIST msg = buf as S2C_SYNC_FIGHTSHIP_VISIBLE_ITEM_LIST; Debug.Log("OnSyncFightShipItems"); ShipItemsProxy shipItemsProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipItemsProxy) as ShipItemsProxy; shipItemsProxy.InitShipItemsByByRespond(msg); }
/// <summary> /// 获取其他玩家的信息 /// </summary> /// <param name="id"></param> private void GetShipData(ulong id) { //Debug.LogError("收到玩家信息"+id); ShipItemsProxy shipItemsProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipItemsProxy) as ShipItemsProxy; // 飞船的 IShip ship = shipItemsProxy.GetCurrentWarShip(id); if (ship != null) { IWeaponContainer weaponContainer = ship.GetWeaponContainer(); if (weaponContainer != null) { IWeapon[] weapons = weaponContainer.GetWeapons(); //Debug.LogError("weapons==="+weapons.Length); if (weapons != null) { for (int i = 0; i < weapons.Length; i++) { IWeapon weapon = weapons[i]; m_Weapons[i].text = TableUtil.GetItemName((int)weapon.GetBaseConfig().Id); } } } IEquipmentContainer equipmentContainer = ship.GetEquipmentContainer(); if (equipmentContainer != null) { IEquipment[] equipments = ship.GetEquipmentContainer().GetEquipments(); for (int i = 0; i < equipments.Length; i++) { IEquipment equipment = equipments[i]; m_EquipMents[i].text = TableUtil.GetItemName((int)equipment.GetBaseConfig().Id); } } IReformer ireformer = ship.GetReformerContainer().GetReformer(); if (ireformer != null) { m_Converter.text = TableUtil.GetItemName((int)ireformer.GetBaseConfig().Id); } } else { Debug.LogError("船的信息为空"); } }
/// <summary> /// 是否是武器技能 /// </summary> /// <returns></returns> private bool IsWeapon(int skllId) { ShipItemsProxy shipItemsProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipItemsProxy) as ShipItemsProxy; IShip ship = shipItemsProxy.GetCurrentWarShip(m_ISpacecraftSkillProperty.EntityId()); if (ship != null) { IWeapon[] weapons = ship.GetWeaponContainer().GetWeapons(); for (int i = 0; i < weapons.Length; i++) { if (weapons[i].GetBaseConfig().SkillId == (ulong)skllId) { return(true); } } } return(false); }
public override void Execute(INotification notification) { CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; ShipItemsProxy shipItemsProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipItemsProxy) as ShipItemsProxy; shipItemsProxy.ClearShipItems(); SceneShipProxy sceneShipProxy = GameFacade.Instance.RetrieveProxy(ProxyName.SceneShipProxy) as SceneShipProxy; if (cfgEternityProxy.GetMapByKey(cfgEternityProxy.GetCurrentGamingMapId()).Value.GamingType == 2) { sceneShipProxy.ShowShip(); } else { sceneShipProxy.HideShip(); } //设置输入模式 InputManager.Instance.SceneInputMap = cfgEternityProxy.IsSpace() ? HotKeyMapID.SHIP : HotKeyMapID.HUMAN; //设置HUD if (cfgEternityProxy.IsSpace()) { OpenHudByShip(); } else { OpenHudByHuman(); //进入手表升级场景打开屏蔽hud if ((uint)notification.Body == 1100) { UIManager.Instance.OpenPanel(UIPanel.HudBlockKeyPanel); } else { UIManager.Instance.ClosePanel(UIPanel.HudBlockKeyPanel); } } //音效场景切换背景音乐 WwiseManager.Instance.SceneSwitchEnd(cfgEternityProxy.GetCurrentGamingMapId()); }
/// <summary> /// 获取武器射速by SkillID /// </summary> /// <param name="skllId"></param> /// <returns></returns> private float GetWeaponFireInterval(int skllId) { if (m_ISpacecraftSkillProperty.GetHeroType() == KHeroType.htPlayer) { ShipItemsProxy shipItemsProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipItemsProxy) as ShipItemsProxy; IShip ship = shipItemsProxy.GetCurrentWarShip(m_ISpacecraftSkillProperty.EntityId()); if (ship != null) { IWeapon[] weapons = ship.GetWeaponContainer().GetWeapons(); for (int i = 0; i < weapons.Length; i++) { if (weapons[i].GetBaseConfig().SkillId == (ulong)skllId) { return(WeaponAndCrossSightFactory.CalculateFireInterval((SpacecraftEntity)m_ISpacecraftSkillProperty.GetOwner(), weapons[i].GetConfig().TypeDateSheetld, weapons[i].GetUID(), (WeaponAndCrossSight.WeaponAndCrossSightTypes)weapons[i].GetConfig().Reticle)); } } } } return(1.0f); }