IEnumerator PlayUltEffect(AttackMessage message) { StartCoroutine(MaskFade()); this.message = message; GameObject bulletPrefab = ResourceManager.GetInstance.LoadPrefab(TestData.charDB [7].Prefab); GameObject parent = StageManager.SharedInstance.WorldUltLayer; GameObject bullet = StageManager.SharedInstance.AddToStage(parent, bulletPrefab); baseEffect = bullet.AddComponent <BaseEffect> (); //baseEffect.transform.position = message.Sender.GameObject.transform.position; //Vector3 pos = MapUtil.RelativeMovePosition (battleAgent.BaseSprite.HitPoint, battleAgent.GameObject.transform); //baseEffect.transform.position = new Vector3 (pos.x, pos.y, battleAgent.GameObject.transform.position.z); BattleAgent battleAgent = message.Sender; baseEffect.transform.position = MapUtil.GetHitPointWorld(battleAgent); baseEffect.PlayOnAgent(message); //yield return new WaitForSeconds (0.1f); //addMask (); //Time.timeScale = 1.0f; battleAgent.dispatchEvent(SoldierEvent.BATTLE_MESSAGE, message); Time.timeScale = 0.6f; yield return(new WaitForSeconds(0.1f)); Time.timeScale = 1.0f; }
/// <summary> /// 受击火花特效 /// 在相对位移点产生火花 /// </summary> /// <param name="delta">Delta.</param> public void AddFlashEffect(Vector3 delta) { GameObject prefab = ResourceManager.GetInstance.LoadPrefab(TestData.charDB [6].Prefab); GameObject parent = StageManager.SharedInstance.EffectLayer; GameObject go = StageManager.SharedInstance.AddToStage(parent, prefab); BaseEffect baseEffect = go.AddComponent <BaseEffect> (); baseEffect.transform.position = MapUtil.GetDeltaPointWorld(battleAgent, delta); AttackMessage message = new AttackMessage(battleAgent, battleAgent.Targets, 1); baseEffect.PlayOnAgent(message); }
/// <summary> /// 受击火花特效 /// </summary> public void AddFlashEffect() { GameObject prefab = ResourceManager.GetInstance.LoadPrefab(TestData.charDB [6].Prefab); GameObject parent = StageManager.SharedInstance.EffectLayer; GameObject go = StageManager.SharedInstance.AddToStage(parent, prefab); BaseEffect baseEffect = go.AddComponent <BaseEffect> (); //baseEffect.transform.position = gameObject.transform.position; //Vector3 pos = MapUtil.RelativeMovePosition (battleAgent.BaseSprite.HitPoint, battleAgent.GameObject.transform); //baseEffect.transform.position = new Vector3 (pos.x, pos.y, battleAgent.GameObject.transform.position.z); baseEffect.transform.position = MapUtil.GetHitPointWorld(battleAgent); AttackMessage message = new AttackMessage(battleAgent, battleAgent.Targets, 1); baseEffect.PlayOnAgent(message); }
/// <summary> /// 黑色落位效果 /// </summary> public void AddBlackDownEffect() { GameObject downPrefab = ResourceManager.GetInstance.LoadPrefab(TestData.charDB [25].Prefab); GameObject parent = StageManager.SharedInstance.EffectLayer; GameObject down = StageManager.SharedInstance.AddToStage(parent, downPrefab); Image img = down.GetComponent <Image> (); img.color = new Color(1.0f, 1.0f, 1.0f, 0.5f); BaseEffect baseEffect = down.AddComponent <BaseEffect> (); //Vector3 pos = MapUtil.GetInstance.MapToWorld (mapPos.x, mapPos.y); baseEffect.transform.position = gameObject.transform.position; baseEffect.transform.localPosition = new Vector3(baseEffect.transform.localPosition.x, baseEffect.transform.localPosition.y + 300, baseEffect.transform.localPosition.z); AttackMessage message = new AttackMessage(battleAgent, battleAgent.Targets, 1); baseEffect.PlayOnAgent(message); }
IEnumerator PlayUltEffect(AttackMessage message) { StartCoroutine(MaskFade ()); this.message = message; GameObject bulletPrefab = ResourceManager.GetInstance.LoadPrefab (TestData.charDB [7].Prefab); GameObject parent = StageManager.SharedInstance.WorldUltLayer; GameObject bullet = StageManager.SharedInstance.AddToStage (parent, bulletPrefab); baseEffect = bullet.AddComponent<BaseEffect> (); //baseEffect.transform.position = message.Sender.GameObject.transform.position; //Vector3 pos = MapUtil.RelativeMovePosition (battleAgent.BaseSprite.HitPoint, battleAgent.GameObject.transform); //baseEffect.transform.position = new Vector3 (pos.x, pos.y, battleAgent.GameObject.transform.position.z); BattleAgent battleAgent = message.Sender; baseEffect.transform.position = MapUtil.GetHitPointWorld (battleAgent); baseEffect.PlayOnAgent (message); //yield return new WaitForSeconds (0.1f); //addMask (); //Time.timeScale = 1.0f; battleAgent.dispatchEvent (SoldierEvent.BATTLE_MESSAGE, message); Time.timeScale = 0.6f; yield return new WaitForSeconds (0.1f); Time.timeScale = 1.0f; }