111 lines
3.2 KiB
C#
111 lines
3.2 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Module.Log;
|
|
using Games.GlobeDefine;
|
|
using GCGame.Table;
|
|
using Games.LogicObj;
|
|
|
|
public class WorldMapWindow : MonoBehaviour {
|
|
|
|
public GameObject m_RoleHead;
|
|
public Image m_RoleHeadImage;
|
|
public GameObject GuildItem;
|
|
|
|
public int[] SceneIDs;
|
|
public WorldMapItemInfo[] WorldMapItems;
|
|
public GameObject WorldMapItemCloneObj;
|
|
|
|
public void OnEnable()
|
|
{
|
|
SetRoleHeadIcon();
|
|
if (GuildItem != null)
|
|
GuildItem.SetActive(GameManager.gameManager.PlayerDataPool.IsHaveGuild());
|
|
FogsShow();
|
|
}
|
|
|
|
public void FogsShow()
|
|
{
|
|
if (Singleton<ObjManager>.Instance.MainPlayer == null)
|
|
return;
|
|
int level = Singleton<ObjManager>.Instance.MainPlayer.BaseAttr.Level;
|
|
for(int i=0;i<SceneIDs.Length;i++)
|
|
{
|
|
if (WorldMapItems.Length <= i || WorldMapItems[i] == null)
|
|
continue;
|
|
if (WorldMapItems[i].ScenID == SceneIDs[i])
|
|
{
|
|
WorldMapItems[i].UpdateInfo();
|
|
}
|
|
else
|
|
{
|
|
GameObject newObj = GameObject.Instantiate(WorldMapItemCloneObj);
|
|
if (newObj != null)
|
|
{
|
|
WorldMapItems[i].Init(SceneIDs[i], newObj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//帮会单独处理
|
|
public void ClickBackGuild()
|
|
{
|
|
if (GameManager.gameManager.PlayerDataPool.IsHaveGuild() == false)
|
|
return;
|
|
var guid = GameManager.gameManager.PlayerDataPool.GuildInfo.GuildGuid;
|
|
var mainPlayer = ObjManager.Instance.MainPlayer;
|
|
if (mainPlayer != null)
|
|
{
|
|
if (GameManager.gameManager.ActiveScene.IsCopyScene())
|
|
mainPlayer.AskLeaveCopy();
|
|
mainPlayer.BackGuildMap(guid);
|
|
}
|
|
else
|
|
{
|
|
// 保持之前玩家未创建也可以发送协议的逻辑
|
|
var send =
|
|
(CG_REQ_ENTER_GUILDMAP) PacketDistributed.CreatePacket(MessageID
|
|
.PACKET_CG_REQ_ENTER_GUILDMAP);
|
|
send.SetGuildGuid(guid);
|
|
send.SendPacket();
|
|
}
|
|
}
|
|
|
|
public void SetRoleHeadIcon()
|
|
{
|
|
if (m_RoleHeadImage == null)
|
|
return;
|
|
LoadAssetBundle.Instance.SetImageSprite(m_RoleHeadImage, GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.HeadPic);
|
|
bool find = false;
|
|
|
|
for(int i=0;i<SceneIDs.Length;i++)
|
|
{
|
|
if(SceneIDs[i] == GameManager.gameManager.RunningScene && WorldMapItems[i] != null)
|
|
{
|
|
Transform mapBtn = WorldMapItems[i].transform;
|
|
find = true;
|
|
m_RoleHead.SetActive(true);
|
|
m_RoleHead.transform.position = new Vector3(mapBtn.position.x +0.8f, mapBtn.position.y, 0);
|
|
}
|
|
}
|
|
|
|
if (find == false)
|
|
m_RoleHead.SetActive(false);
|
|
}
|
|
|
|
private int m_curShowSceneID = -1;
|
|
|
|
public void OnCloseClick()
|
|
{
|
|
UIManager.CloseUI(UIInfo.WorldMapWindow);
|
|
}
|
|
|
|
public void OnOpenCurrClick()
|
|
{
|
|
UIManager.CloseUI(UIInfo.WorldMapWindow);
|
|
UIManager.ShowUI(UIInfo.SceneMapRoot);
|
|
}
|
|
}
|