|
@@ -14,9 +14,9 @@ public class XmdsTeamVirtual
|
|
|
private List<XmdsInstancePlayer> teamMembers = null;
|
|
|
private TeamFollow mTeamFollow;
|
|
|
|
|
|
- //队伍玩家宠物的天命数据加成
|
|
|
- private long [] mFateRefreshTime = new long[5];
|
|
|
- private int[] mFateValue = new int[5];
|
|
|
+ //队伍玩家宠物的天命数据加成
|
|
|
+ private long[] mFateRefreshTime = new long[5];
|
|
|
+ private int[] mFateValue = new int[5];
|
|
|
|
|
|
public XmdsInstancePlayer TeamLeader
|
|
|
{
|
|
@@ -37,7 +37,7 @@ public class XmdsTeamVirtual
|
|
|
|
|
|
public bool isTeamLeader(string uuid)
|
|
|
{
|
|
|
- if(mTeamLeader != null)
|
|
|
+ if (mTeamLeader != null)
|
|
|
{
|
|
|
return mTeamLeader.PlayerUUID == uuid;
|
|
|
}
|
|
@@ -59,11 +59,11 @@ public class XmdsTeamVirtual
|
|
|
|
|
|
public void addMember(XmdsInstancePlayer player)
|
|
|
{
|
|
|
- if(this.teamMembers == null)
|
|
|
+ if (this.teamMembers == null)
|
|
|
{
|
|
|
this.teamMembers = new List<XmdsInstancePlayer>();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (!this.teamMembers.Contains(player))
|
|
|
{
|
|
|
teamMembers.RemoveAll((e) => e.PlayerUUID == player.PlayerUUID);
|
|
@@ -73,14 +73,14 @@ public class XmdsTeamVirtual
|
|
|
|
|
|
public void cancelAutoFollow(XmdsInstancePlayer player)
|
|
|
{
|
|
|
- for(int i = 0; i < this.teamMembers.Count; i++)
|
|
|
+ for (int i = 0; i < this.teamMembers.Count; i++)
|
|
|
{
|
|
|
- if(this.teamMembers[i].PlayerUUID == player.PlayerUUID)
|
|
|
+ if (this.teamMembers[i].PlayerUUID == player.PlayerUUID)
|
|
|
{
|
|
|
player.canFollowTeam = false;
|
|
|
this.mTeamFollow.removeFollowMember(player);
|
|
|
|
|
|
- if(player.CurrentState is StateFollowLeader)
|
|
|
+ if (player.CurrentState is StateFollowLeader)
|
|
|
{
|
|
|
player.doSomething();
|
|
|
}
|
|
@@ -111,9 +111,9 @@ public class XmdsTeamVirtual
|
|
|
|
|
|
public void removeMember(XmdsInstancePlayer player)
|
|
|
{
|
|
|
- for(int i = 0;i< this.teamMembers.Count; i++)
|
|
|
+ for (int i = 0; i < this.teamMembers.Count; i++)
|
|
|
{
|
|
|
- if(teamMembers[i].PlayerUUID == player.PlayerUUID)
|
|
|
+ if (teamMembers[i].PlayerUUID == player.PlayerUUID)
|
|
|
{
|
|
|
cancelAutoFollow(player);
|
|
|
this.teamMembers.Remove(player);
|
|
@@ -124,9 +124,9 @@ public class XmdsTeamVirtual
|
|
|
|
|
|
public void changeLeader(XmdsInstancePlayer player, TeamDataEventR2B eventData)
|
|
|
{
|
|
|
- if(TeamLeader == null || TeamLeader.PlayerUUID != player.PlayerUUID)
|
|
|
- //if (TeamLeader != player)
|
|
|
- {
|
|
|
+ if (TeamLeader == null || TeamLeader.PlayerUUID != player.PlayerUUID)
|
|
|
+ //if (TeamLeader != player)
|
|
|
+ {
|
|
|
var oldLeader = TeamLeader;
|
|
|
TeamLeader = player;
|
|
|
if (TeamLeader != null)
|
|
@@ -136,22 +136,22 @@ public class XmdsTeamVirtual
|
|
|
this.mTeamFollow.removeFollowMember(TeamLeader);
|
|
|
if (TeamLeader.IsGuard)
|
|
|
{
|
|
|
- var guard = TeamLeader.IsGuard;
|
|
|
- //TeamLeader.cancelGuard();
|
|
|
- SetAutoBattleB2C evt = new SetAutoBattleB2C();
|
|
|
- evt.isAutoBattle = guard ? 1 : 0;
|
|
|
- TeamLeader.queueEvent(evt);
|
|
|
- }
|
|
|
+ var guard = TeamLeader.IsGuard;
|
|
|
+ //TeamLeader.cancelGuard();
|
|
|
+ SetAutoBattleB2C evt = new SetAutoBattleB2C();
|
|
|
+ evt.isAutoBattle = guard ? 1 : 0;
|
|
|
+ TeamLeader.queueEvent(evt);
|
|
|
+ }
|
|
|
|
|
|
- var stateFollow = new SetAutoFollowB2C();
|
|
|
- stateFollow.stateFollow = 0;
|
|
|
- TeamLeader.queueEvent(stateFollow);
|
|
|
- }
|
|
|
- if(oldLeader != null && eventData != null && eventData.ContainMem(oldLeader.PlayerUUID))
|
|
|
+ var stateFollow = new SetAutoFollowB2C();
|
|
|
+ stateFollow.stateFollow = 0;
|
|
|
+ TeamLeader.queueEvent(stateFollow);
|
|
|
+ }
|
|
|
+ if (oldLeader != null && eventData != null && eventData.ContainMem(oldLeader.PlayerUUID))
|
|
|
{
|
|
|
oldLeader.Leader = TeamLeader;
|
|
|
//oldLeader.canFollowTeam = true;
|
|
|
- // this.mTeamFollow.addFollowMember(oldLeader);
|
|
|
+ // this.mTeamFollow.addFollowMember(oldLeader);
|
|
|
if (oldLeader.IsGuard)
|
|
|
{
|
|
|
oldLeader.cancelGuard();
|
|
@@ -164,7 +164,7 @@ public class XmdsTeamVirtual
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public void notifyTeamerRide()
|
|
|
+ public void notifyTeamerRide()
|
|
|
{
|
|
|
if (TeamLeader != null)
|
|
|
{
|
|
@@ -187,30 +187,35 @@ public class XmdsTeamVirtual
|
|
|
}
|
|
|
|
|
|
|
|
|
- /** 根据玩家宠物,获取队伍属性加成 */
|
|
|
- public int GetTeamFateValue(UnitFateType fateType)
|
|
|
- {
|
|
|
- if (fateType < UnitFateType.One || fateType > UnitFateType.Five)
|
|
|
- {
|
|
|
- return 0;
|
|
|
- }
|
|
|
+ /** 根据玩家宠物,获取队伍属性加成 */
|
|
|
+ public int GetTeamFateValue(UnitFateType fateType)
|
|
|
+ {
|
|
|
+ if (fateType < UnitFateType.One || fateType > UnitFateType.Five)
|
|
|
+ {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
|
|
|
- int type = (int)fateType - 1;
|
|
|
- //每10s钟,重新获取下加成值
|
|
|
- if (mFateRefreshTime[type] + 10 < CommonLang.CUtils.localTimeMS)
|
|
|
- {
|
|
|
- mFateValue[type] = 0;
|
|
|
+ int type = (int)fateType - 1;
|
|
|
+ //每10s钟,重新获取下加成值
|
|
|
+ if (mFateRefreshTime[type] + 10 < CommonLang.CUtils.localTimeMS)
|
|
|
+ {
|
|
|
+ mFateValue[type] = 0;
|
|
|
|
|
|
- for (int i = 0; i < this.teamMembers.Count; i++)
|
|
|
- {
|
|
|
- mFateValue[type] = Math.Max(mFateValue[type], teamMembers[i].Virtual.GetPetTalentAddition(fateType));
|
|
|
- }
|
|
|
+ for (int i = 0; i < this.teamMembers.Count; i++)
|
|
|
+ {
|
|
|
+ mFateValue[type] = Math.Max(mFateValue[type], teamMembers[i].Virtual.GetPetTalentAddition(fateType));
|
|
|
+ }
|
|
|
|
|
|
- mFateRefreshTime[type] = CommonLang.CUtils.localTimeMS;
|
|
|
- }
|
|
|
+ mFateRefreshTime[type] = CommonLang.CUtils.localTimeMS;
|
|
|
+ }
|
|
|
|
|
|
- return mFateValue[type];
|
|
|
- }
|
|
|
+ return mFateValue[type];
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 获取队伍成员 */
|
|
|
+ public List<XmdsInstancePlayer> GetTeamMembers(){
|
|
|
+ return this.teamMembers;
|
|
|
+ }
|
|
|
|
|
|
public class TeamFollow
|
|
|
{
|
|
@@ -266,10 +271,7 @@ public class XmdsTeamVirtual
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|