|
@@ -336,9 +336,13 @@ namespace ET.Server
|
|
|
|
|
|
if (templateId <= 0)
|
|
|
{
|
|
|
- int[] units = new int[] { 101, 121, 111, 131 };
|
|
|
-
|
|
|
- templateId = RandomGenerator.RandomArray(units);
|
|
|
+ Log.Debug("illegal templateId @AddUnitPlayer");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ if (self.UnitPlayers.ContainsKey(openId))
|
|
|
+ {
|
|
|
+ Log.Debug("already contain unit @AddUnitPlayer");
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
// 战斗服数据
|
|
@@ -359,48 +363,22 @@ namespace ET.Server
|
|
|
unit.alias = url;
|
|
|
|
|
|
int objId = await self.AddUnits(unit, true);
|
|
|
-
|
|
|
- Struct.UnitPlayerData unitPlayerData = null;
|
|
|
-
|
|
|
- if (string.IsNullOrEmpty(openId))
|
|
|
- {
|
|
|
- openId = (10000 + new Random().Next(999)).ToString();
|
|
|
- }
|
|
|
-
|
|
|
- // 本地数据
|
|
|
- if (self.UnitPlayers.ContainsKey(openId))
|
|
|
- {
|
|
|
- unitPlayerData = self.UnitPlayers[openId];
|
|
|
-
|
|
|
- // 移除一下之前的场景单位
|
|
|
- self.RemovePointUnit(unitPlayerData.ObjId).Coroutine();
|
|
|
-
|
|
|
- unitPlayerData.TemplateId = templateId;
|
|
|
- unitPlayerData.ObjId = objId;
|
|
|
- unitPlayerData.Name = unit.name;
|
|
|
- unitPlayerData.Url = unit.alias;
|
|
|
- unitPlayerData.Map = self;
|
|
|
-
|
|
|
- self.UnitPlayers[openId] = unitPlayerData;
|
|
|
- }
|
|
|
- else
|
|
|
+ var unitPlayerData = new Struct.UnitPlayerData
|
|
|
{
|
|
|
- unitPlayerData = new Struct.UnitPlayerData();
|
|
|
- unitPlayerData.OpenId = openId;
|
|
|
- unitPlayerData.TemplateId = templateId;
|
|
|
- unitPlayerData.ObjId = objId;
|
|
|
- unitPlayerData.Name = unit.name;
|
|
|
- unitPlayerData.Url = unit.alias;
|
|
|
- unitPlayerData.Level = 1;
|
|
|
- unitPlayerData.Likes = 0;
|
|
|
- unitPlayerData.ReliveTime = 0;
|
|
|
- unitPlayerData.x = 0;
|
|
|
- unitPlayerData.y = 0;
|
|
|
- unitPlayerData.Map = self;
|
|
|
-
|
|
|
- self.UnitPlayers.TryAdd(openId, unitPlayerData);
|
|
|
- }
|
|
|
-
|
|
|
+ OpenId = openId,
|
|
|
+ TemplateId = templateId,
|
|
|
+ ObjId = objId,
|
|
|
+ Name = unit.name,
|
|
|
+ Url = unit.alias,
|
|
|
+ Level = 1,
|
|
|
+ Likes = 0,
|
|
|
+ ReliveTime = 0,
|
|
|
+ x = 0,
|
|
|
+ y = 0,
|
|
|
+ Map = self
|
|
|
+ };
|
|
|
+
|
|
|
+ self.UnitPlayers.TryAdd(openId, unitPlayerData);
|
|
|
return unitPlayerData;
|
|
|
}
|
|
|
|