Exemplo n.º 1
0
        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);
        }