public ISerializerable CreateBattleCharacter(BattleCharacter battleCharacter) { var properties = new List <HeroProperty>(); foreach (var i in Enum.GetValues(typeof(HeroPropertyType))) { var p = (HeroPropertyType)i; properties.Add(new HeroProperty { Property = p, Value = battleCharacter[p].FinalValue }); } var createNotity = new Proto.Notify_CreateBattleCharacter { Index = battleCharacter.Index, UserID = battleCharacter.UserID, ConfigID = battleCharacter.ConfigID, Position = battleCharacter.View.Transform.position.ToV3(), Forward = battleCharacter.View.Transform.forward.ToV3(), HP = battleCharacter.HP, Properties = properties, Level = battleCharacter.Level, TDamage = battleCharacter.TDamage, TDefance = battleCharacter.TDefance, Name = battleCharacter.Name, Category = battleCharacter.Category, TeamIndex = battleCharacter.TeamIndex, Speed = battleCharacter.Speed }; foreach (var i in battleCharacter.Magics) { var time = battleCharacter.GetCoolDwon(i.ID); createNotity.Magics.Add(new HeroMagicData { CDTime = time, MagicID = i.ID }); } return(createNotity); }