186 lines
4.5 KiB
C#
186 lines
4.5 KiB
C#
using Games.GlobeDefine;
|
||
using Games.LogicObj;
|
||
using GCGame.Table;
|
||
using UnityEngine;
|
||
|
||
public class TeamMember
|
||
{
|
||
private int _EffectAuraId = -1;
|
||
|
||
private int _FollowState = TeamFollowState.notSet;
|
||
|
||
private int _WeaponGemEffect = -1;
|
||
|
||
private int _WeaponGemEffect2 = -1;
|
||
|
||
private int _WeaponGemEffect3 = -1;
|
||
|
||
private int _WingAuraId = -1;
|
||
|
||
public TeamMember()
|
||
{
|
||
CleanUp();
|
||
}
|
||
|
||
public ulong Guid { get; set; }
|
||
|
||
public string MemberName { get; set; }
|
||
|
||
public int Level { get; set; }
|
||
|
||
public int Profession { get; set; }
|
||
|
||
public long HP { get; set; }
|
||
|
||
public long MaxHP { get; set; }
|
||
|
||
public int TeamJob { get; set; }
|
||
|
||
public int CombatNum { get; set; }
|
||
|
||
public Vector2 ScenePos { get; set; }
|
||
|
||
public int ModelVisual { get; set; }
|
||
|
||
public int WeaponData { get; set; }
|
||
|
||
public int WeaponGemEffect
|
||
{
|
||
get { return _WeaponGemEffect; }
|
||
set { _WeaponGemEffect = value; }
|
||
}
|
||
|
||
public int WeaponGemEffect2
|
||
{
|
||
get { return _WeaponGemEffect2; }
|
||
set { _WeaponGemEffect2 = value; }
|
||
}
|
||
|
||
public int WeaponGemEffect3
|
||
{
|
||
get { return _WeaponGemEffect3; }
|
||
set { _WeaponGemEffect3 = value; }
|
||
}
|
||
|
||
public int EffectAuraId
|
||
{
|
||
set { _EffectAuraId = value; }
|
||
get { return _EffectAuraId; }
|
||
}
|
||
|
||
public int WingAurId
|
||
{
|
||
set { _WingAuraId = value; }
|
||
get { return _WingAuraId; }
|
||
}
|
||
|
||
public bool EnsureFuben { get; set; }
|
||
|
||
public int FollowState
|
||
{
|
||
get { return _FollowState; }
|
||
set
|
||
{
|
||
if (_FollowState != value)
|
||
{
|
||
ridingMatchLead = false;
|
||
if (_FollowState == TeamFollowState.notFollow)
|
||
{
|
||
var mainPlayer = ObjManager.Instance.MainPlayer;
|
||
if (mainPlayer != null && mainPlayer.GUID == Guid)
|
||
{
|
||
var leader = GameManager.gameManager.PlayerDataPool.TeamInfo.teamMember[0];
|
||
if (leader.Guid != Guid && leader.SceneClassID != SceneClassID)
|
||
{
|
||
if (!Obj_MainPlayer.AllowCallIn(leader.SceneClassID, SceneClassID))
|
||
GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{5144}"));
|
||
// 2019.01.04 改为服务器判定队长是否在线
|
||
//else if (!leader.IsOnline)
|
||
// GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{52013}"));
|
||
}
|
||
}
|
||
}
|
||
_FollowState = value;
|
||
}
|
||
}
|
||
}
|
||
|
||
public float MoveSpeed { get; set; }
|
||
|
||
public int SceneClassID
|
||
{
|
||
get { return _sceneClassId; }
|
||
set
|
||
{
|
||
if (_sceneClassId != value)
|
||
{
|
||
ridingMatchLead = false;
|
||
_sceneClassId = value;
|
||
}
|
||
}
|
||
}
|
||
|
||
private int _sceneClassId;
|
||
|
||
public int SceneInstID
|
||
{
|
||
get { return _sceneInstId; }
|
||
set
|
||
{
|
||
if (_sceneInstId != value)
|
||
{
|
||
ridingMatchLead = false;
|
||
_sceneInstId = value;
|
||
}
|
||
}
|
||
}
|
||
|
||
public bool IsOnline = true;
|
||
|
||
private int _sceneInstId;
|
||
|
||
public void CleanUp()
|
||
{
|
||
Guid = GlobeVar.INVALID_GUID;
|
||
MemberName = string.Empty;
|
||
Level = 0;
|
||
Profession = 0;
|
||
HP = 0;
|
||
MaxHP = 0;
|
||
CombatNum = 0;
|
||
SceneClassID = GlobeVar.INVALID_ID;
|
||
SceneInstID = GlobeVar.INVALID_ID;
|
||
ScenePos = Vector2.zero;
|
||
warpFreezeTime = 0f;
|
||
teleportFreezeTime = 0f;
|
||
}
|
||
|
||
public bool IsValid()
|
||
{
|
||
return Guid != GlobeVar.INVALID_GUID;
|
||
}
|
||
|
||
public bool FollowLeader()
|
||
{
|
||
return IsValid() && FollowState != TeamFollowState.notFollow;
|
||
}
|
||
#region client prop
|
||
/// <summary>
|
||
/// 队员跳跃中,被锁定移动到这个时间
|
||
/// </summary>
|
||
public float warpFreezeTime;
|
||
|
||
/// <summary>
|
||
/// 队员传送中,被锁定移动到这个时间
|
||
/// </summary>
|
||
public float teleportFreezeTime;
|
||
|
||
/// <summary>
|
||
/// 是否需要更新骑乘状态
|
||
/// </summary>
|
||
// 仅仅用于在队员场景切换等等情况下重置为false,使队长可以在切换状态时刷新这个标志位;
|
||
// 队员进入跟随状态,无论任何情况,都会试图同队长骑乘状态执行一次匹配
|
||
public bool ridingMatchLead;
|
||
|
||
#endregion
|
||
} |