/******************************************************************************** * 文件名: AutoSearchPoint.cs * 全路径: \Script\Player\AutoSearch\AutoSearchPoint.cs * 创建人: 李嘉 * 创建时间:2014-01-02 * * 功能说明:自动寻路点的基本信息,其中包括了场景和坐标 * 修改记录: *********************************************************************************/ using UnityEngine; using System.Collections; using GCGame.Table; public class AutoSearchPoint { public enum ChangeMap_Type { TELEPORT = 0, //传送石 WORLDMAP = 1, //世界地图 TRAIL = 2, //追杀功能 POINT = 3, //具体点传送 MISSIONFLY = 4, //任务飞鞋 } public AutoSearchPoint() { m_nSceneID = -1; m_nSceneInstID = -1; m_GuildGuid = Games.GlobeDefine.GlobeVar.INVALID_GUID; } public AutoSearchPoint(int sceneId, float posX, float posZ,int sceneInstId = -1, ChangeMap_Type changeType = ChangeMap_Type.WORLDMAP, ulong guildguid = Games.GlobeDefine.GlobeVar.INVALID_GUID) { Tab_SceneClass scene = TableManager.GetSceneClassByID(sceneId, 0); if (scene == null && guildguid == Games.GlobeDefine.GlobeVar.INVALID_GUID) return; m_nSceneID = sceneId; m_nSceneInstID = sceneInstId; m_fPosX = posX; m_fPosZ = posZ; m_ChangeMapType = changeType; m_GuildGuid = guildguid; Tab_GuildOther guildOther = TableManager.GetGuildOtherByID(0, 0); if (guildOther != null && scene != null) { if (scene.SceneID == guildOther.SceneId && guildguid == Games.GlobeDefine.GlobeVar.INVALID_GUID) if (GameManager.gameManager.PlayerDataPool.GuildInfo != null) m_GuildGuid = GameManager.gameManager.PlayerDataPool.GuildInfo.GuildGuid; } if(m_GuildGuid!= Games.GlobeDefine.GlobeVar.INVALID_GUID) { m_nSceneInstID = -1; } } public void Clean() { m_nSceneID = -1; m_fPosX = 0; m_fPosZ = 0; m_GuildGuid = Games.GlobeDefine.GlobeVar.INVALID_GUID; } private ChangeMap_Type m_ChangeMapType; //传送方式 public ChangeMap_Type ChangeMapType { get { return m_ChangeMapType; } set { m_ChangeMapType = value; } } private int m_nSceneInstID = -1; //目标点场景线路ID public int SceneInstID { get { return m_nSceneInstID; } set { m_nSceneInstID = value; } } private int m_nSceneID; //目标点场景ID public int SceneID { get { return m_nSceneID; } set { m_nSceneID = value; } } private float m_fPosX; //目标点X坐标 public float PosX { get { return m_fPosX; } set { m_fPosX = value; } } private float m_fPosZ; //目标点Z坐标 public float PosZ { get { return m_fPosZ; } set { m_fPosZ = value; } } private ulong m_GuildGuid; //帮会场景根据帮会ID做特殊记录 public ulong GuildGuid { get { return m_GuildGuid; } set { m_GuildGuid = value; } } //根据一个obj的信息来构建一个AutoSearchPoint public static AutoSearchPoint MakePoint(GameObject obj) { if (null == obj) { return null; } AutoSearchPoint point = new AutoSearchPoint(); point.SceneID = GameManager.gameManager.RunningScene; point.m_fPosX = obj.transform.position.x; point.m_fPosZ = obj.transform.position.z; return point; } }