public override GameObject CreateGameObject(ReferenceData referenceData, Transform parent = null) { var gameObject = base.CreateGameObject(referenceData, parent); var rigidbody = gameObject.AddComponent <Rigidbody>(); //rigidbody.isKinematic = true; rigidbody.constraints = RigidbodyConstraints.FreezeRotation; if (flags.HasFlag(CreatureFlags.Flies)) { rigidbody.useGravity = false; } CharacterAudio.Create(gameObject, soundGeneratorName); return(gameObject); }
public override GameObject CreateGameObject(ReferenceData referenceData, Transform parent = null) { var gameObject = base.CreateGameObject(referenceData, parent); gameObject.AddComponent <CharacterVoice>().Initialize(this); var body = gameObject.AddComponent <CharacterBody>(); body.Initialize(race, head, hair, npcFlags.HasFlag(NpcFlags.Female)); DialogController.Create(gameObject, this, referenceData); var characterData = gameObject.AddComponent <Character>(); characterData.Initialize(this); var animation = gameObject.GetComponent <CharacterAnimation>(); var inventory = gameObject.GetComponent <IInventory>(); var equipment = gameObject.GetComponent <CharacterEquipment>(); equipment.Initialize(animation, body, inventory); foreach (var collider in gameObject.GetComponentsInChildren <Collider>()) { collider.gameObject.layer = LayerMask.NameToLayer("Npc"); } AddServices(gameObject); var rigidbody = gameObject.AddComponent <Rigidbody>(); //rigidbody.isKinematic = true; rigidbody.constraints = RigidbodyConstraints.FreezeRotation; CharacterAudio.Create(gameObject); return(gameObject); }