120 lines
3.6 KiB
C#
120 lines
3.6 KiB
C#
/********************************************************************************
|
||
* 文件名: 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;
|
||
}
|
||
}
|