Files
JJBB/Assets/Project/Script/Player/AutoSearch/AutoSearchPoint.cs
2024-08-23 15:49:34 +08:00

120 lines
3.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/********************************************************************************
* 文件名: 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;
}
}