public new MonsterRecord ToRecord() { MonsterRecord record = new MonsterRecord(); record.Uid = Uid; record.Kid = Data.Kid; record.WorldPosition =new Vector3Record(WorldPosition); record.WorldAngle = WorldAngle; record.HP = Info.HP; record.buffRemainTimeDic = Info.RecordBuff(); return record; }
public static Monster Create(MonsterRecord record) { Monster monster = new Monster(); if (record != null) { monster.Uid = record.Uid; monster.Data = MonsterDataManager.Instance.GetData(record.Kid) as MonsterData; monster.Info = new MonsterInfo(monster.Data, record); Init(monster); Dictionary<int, float>.Enumerator enumertor = record.buffRemainTimeDic.GetEnumerator(); while (enumertor.MoveNext()) { monster.AddBuff(enumertor.Current.Key, enumertor.Current.Value); } } else { monster.Uid = Guid.NewGuid().ToString(); monster.Data = MonsterDataManager.Instance.GetRandomMonsterData(); monster.Info = new MonsterInfo(monster.Data); Init(monster); } return monster; }
public MonsterInfo (MonsterData data, MonsterRecord record) : base(data) { Data = data; hp = record.HP; }