private void Awake() { _movement = gameObject.LocateMyFSM("Movement"); _shootControl = gameObject.LocateMyFSM("Shoot Control"); _de = gameObject.AddComponent <EnemyDeathEffectsUninfected>(); _he = gameObject.AddComponent <EnemyHitEffectsUninfected>(); _hm = gameObject.AddComponent <HealthManager>(); _sf = gameObject.AddComponent <SpriteFlash>(); gameObject.AddComponent <NonBouncer>(); _hornet = CagneyCarnation.GameObjects["Hornet"]; AssignFields(); On.HealthManager.TakeDamage += OnTakeDamage; }
private void Awake() { _fsm = gameObject.LocateMyFSM("FSM"); _de = gameObject.AddComponent <EnemyDeathEffectsUninfected>(); _he = gameObject.AddComponent <EnemyHitEffectsUninfected>(); _hm = gameObject.AddComponent <HealthManager>(); _sf = gameObject.AddComponent <SpriteFlash>(); _sf.enabled = true; gameObject.AddComponent <NonBouncer>(); _hornet = CagneyCarnation.GameObjects["Hornet"]; AssignFields(); On.HealthManager.TakeDamage += OnTakeDamage; }
private void AssignFields() { Log("Assigning fields"); GameObject hornet = Fennel.preloadedGO["hornet"]; EnemyHitEffectsUninfected ogrimHitEffects = hornet.GetComponent <EnemyHitEffectsUninfected>(); foreach (FieldInfo fi in typeof(EnemyHitEffectsUninfected).GetFields(BindingFlags.Instance | BindingFlags.Public)) { if (fi.Name.Contains("Origin")) { _hitEffects.effectOrigin = new Vector3(0f, 0.0f, 0f); continue; } fi.SetValue(_hitEffects, fi.GetValue(ogrimHitEffects)); } _deathEff = hornet.GetComponent <EnemyDeathEffectsUninfected>(); Log("End of assignment"); }
private void AddComponents() { _rb = gameObject.GetOrAddComponent <Rigidbody2D>(); _rb.isKinematic = true; _rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous; _collider = gameObject.GetOrAddComponent <BoxCollider2D>(); _collider.enabled = true; _collider.size = new Vector2(1, 2); gameObject.AddComponent <DamageHero>(); _recoil = gameObject.GetOrAddComponent <Recoil>(); _recoil.enabled = true; _recoil.SetAttr <bool>("freezeInPlace", false); _recoil.SetAttr <bool>("stopVelocityXWhenRecoilingUp", false); _recoil.SetAttr <bool>("preventRecoilUp", false); _recoil.SetAttr <float>("recoilSpeedBase", 15f); _recoil.SetAttr <float>("recoilDuration", 0.15f); _hitEff = gameObject.AddComponent <EnemyHitEffectsUninfected>(); _hitEff.enabled = true; _deathEff = gameObject.AddComponent <EnemyDeathEffectsUninfected>(); _deathEff.enabled = true; _dnReaction = gameObject.AddComponent <EnemyDreamnailReaction>(); _dnReaction.enabled = true; // Add extras to make meme dialog 5 less frequent string[] dnDialogue = { "TISO_DIALOG_1", "TISO_DIALOG_1", "TISO_DIALOG_1", "TISO_DIALOG_2", "TISO_DIALOG_2", "TISO_DIALOG_2", "TISO_DIALOG_3", "TISO_DIALOG_3", "TISO_DIALOG_3", "TISO_DIALOG_4", "TISO_DIALOG_4", "TISO_DIALOG_4", "TISO_DIALOG_5", }; _dnReaction.SetConvoTitle(dnDialogue[_rand.Next(dnDialogue.Length)]); gameObject.AddComponent <ExtraDamageable>().enabled = true; }
private void AssignFields() { EnemyDeathEffectsUninfected de = _hornet.GetComponent <EnemyDeathEffectsUninfected>(); foreach (FieldInfo fi in typeof(EnemyDeathEffectsUninfected).GetFields(BindingFlags.Instance | BindingFlags.Public)) { fi.SetValue(_de, fi.GetValue(de)); } EnemyHitEffectsUninfected he = _hornet.GetComponent <EnemyHitEffectsUninfected>(); foreach (FieldInfo fi in typeof(EnemyHitEffectsUninfected).GetFields(BindingFlags.Instance | BindingFlags.Public)) { fi.SetValue(_he, fi.GetValue(he)); } HealthManager hm = _hornet.GetComponent <HealthManager>(); foreach (FieldInfo fi in typeof(HealthManager).GetFields(BindingFlags.Instance | BindingFlags.NonPublic).Where(x => x.Name.Contains("Prefab"))) { fi.SetValue(_hm, fi.GetValue(hm)); } }
private void AssignFields() { HealthManager hornetHealth = TisoSpencer.PreloadedGameObjects["Hornet"].GetComponent <HealthManager>(); foreach (FieldInfo fi in typeof(HealthManager).GetFields(BindingFlags.Instance | BindingFlags.NonPublic) .Where(x => x.Name.Contains("Prefab"))) { fi.SetValue(_phaseCtrl.hm, fi.GetValue(hornetHealth)); } EnemyHitEffectsUninfected hornetHitEffects = TisoSpencer.PreloadedGameObjects["Hornet"].GetComponent <EnemyHitEffectsUninfected>(); foreach (FieldInfo fi in typeof(EnemyHitEffectsUninfected).GetFields(BindingFlags.Default | BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static | BindingFlags.CreateInstance | BindingFlags.DeclaredOnly | BindingFlags.ExactBinding | BindingFlags.FlattenHierarchy | BindingFlags.GetField | BindingFlags.GetProperty | BindingFlags.IgnoreCase | BindingFlags.IgnoreReturn | BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.SetField | BindingFlags.SetProperty | BindingFlags.OptionalParamBinding | BindingFlags.PutDispProperty | BindingFlags.SuppressChangeType | BindingFlags.PutRefDispProperty)) { fi.SetValue(_hitEff, fi.GetValue(hornetHitEffects)); } EnemyDeathEffectsUninfected hornetDeathEffects = TisoSpencer.PreloadedGameObjects["Hornet"].GetComponent <EnemyDeathEffectsUninfected>(); foreach (FieldInfo fi in typeof(EnemyDeathEffectsUninfected).GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Default | BindingFlags.Static | BindingFlags.DeclaredOnly)) { fi.SetValue(_deathEff, fi.GetValue(hornetDeathEffects)); } }