public override void Init(FCObject owner) { base.Init(owner); if (_battleCharEffect == null) { GameObject battleEffectPrefab = InJoy.AssetBundles.AssetBundles.Load(_battleEffectPrefabName, typeof(GameObject)) as GameObject; //create instance GameObject instance = GameObject.Instantiate(battleEffectPrefab) as GameObject; instance.transform.parent = _owner.ACOwner.ThisTransform; instance.transform.localPosition = Vector3.zero; instance.transform.localRotation = Quaternion.identity; instance.transform.localScale = new Vector3(1f, 1f, 1f); //get component _battleCharEffect = instance.GetComponentInChildren <BattleCharEffect>(); if (_battleCharEffect != null) { _battleCharEffect.PrepareEffect(); } } }
private BattleCharEffect _battleCharEffect = null; //the controller of effect protected override void OnInit() { if (_owner.ACOwner.IsPlayer) { //_damageInCrease = _owner._percents; //_maxChargeCount = (int)_owner._trueValue; } _coolDownTime = _owner.coolDownTimeMax; _cdTimeCount = 0; _chargeCount = 0; _owner.ACOwner._onSkillEnter += OnSkillEnter; _owner.ACOwner._onSkillQuit += OnSkillQuit; _owner.ACOwner._onHitTarget += OnHitTarget; _owner.ACOwner._onShowBody += OnShowBody; //get battle char effect and prepare it //check effect prefeb name Assertion.Check(!string.IsNullOrEmpty(_battleEffectPrefabName)); //load prefeb GameObject battleEffectPrefab = InJoy.AssetBundles.AssetBundles.Load(_battleEffectPrefabName, typeof(GameObject)) as GameObject; //create instance GameObject instance = GameObject.Instantiate(battleEffectPrefab) as GameObject; instance.transform.parent = _owner.ACOwner.ThisTransform; instance.transform.localPosition = Vector3.zero; instance.transform.localRotation = Quaternion.identity; instance.transform.localScale = new Vector3(1.5f, 1f, 1.5f); //get component _battleCharEffect = instance.GetComponentInChildren <BattleCharEffect>(); if (_battleCharEffect != null) { _battleCharEffect.PrepareEffect(); } StartCoroutine(STATE()); }