Files
JJBB/Assets/Project/Script/Player/AutoSearch/AutoSearchPoint.cs

120 lines
3.6 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
/********************************************************************************
* 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;
}
}