private void Start() { m_instance = this; ShootPoint = aiActor.transform; aiAnimator.PlayUntilCancelled("idle", false, null, -1f, false); aiAnimator.PlayUntilFinished("intro", false, null, -1f, false); specRigidbody.RegisterSpecificCollisionException(GameManager.Instance.PrimaryPlayer.specRigidbody); specRigidbody.PrimaryPixelCollider.Enabled = false; specRigidbody.CollideWithTileMap = false; healthHaver.SetHealthMaximum(150f); healthHaver.PreventAllDamage = false; aiActor.actorTypes = CoreActorTypes.Ghost; healthHaver.gameObject.AddComponent <ExpandExplodeOnDeath>(); ExpandExplodeOnDeath CachedExploder = healthHaver.GetComponent <ExpandExplodeOnDeath>(); CachedExploder.deathType = OnDeathBehavior.DeathType.Death; TeleportBehavior LJTeleportor = behaviorSpeculator.AttackBehaviors[1] as TeleportBehavior; LJTeleportor.MaxUsages = 1; if (GameManager.Instance.CurrentGameType == GameManager.GameType.COOP_2_PLAYER) { specRigidbody.RegisterSpecificCollisionException(GameManager.Instance.SecondaryPlayer.specRigidbody); } if (becomesBlackPhantom) { aiActor.BecomeBlackPhantom(); } if (aiActor.GetComponentsInChildren <tk2dBaseSprite>(true) != null) { float RandomIntervalFloat = UnityEngine.Random.Range(0.02f, 0.06f); float RandomDispFloat = UnityEngine.Random.Range(0.1f, 0.16f); float RandomDispIntensityFloat = UnityEngine.Random.Range(0.1f, 0.4f); float RandomColorProbFloat = UnityEngine.Random.Range(0.05f, 0.2f); float RnadomColorIntensityFloat = UnityEngine.Random.Range(0.1f, 0.25f); foreach (tk2dBaseSprite reaperSprite in aiActor.GetComponentsInChildren <tk2dBaseSprite>()) { ExpandShaders.Instance.ApplyGlitchShader(reaperSprite, true, RandomIntervalFloat, RandomDispFloat, RandomDispIntensityFloat, RandomColorProbFloat, RnadomColorIntensityFloat); } } m_currentTargetPlayer = GameManager.Instance.GetRandomActivePlayer(); }
protected override void OnDestroy() { base.OnDestroy(); m_instance = null; // if (aiActor != null) { Destroy(aiActor.gameObject); } }