public override void Init(GameObject player, Wave wave, EZ.Data.MonsterItem monster) { base.Init(player, wave, monster); m_PursureAct.Init(player, wave, this); m_BeatBackAct.Init(player, wave, this); m_BeatBackAct.SetWeight(Weight); }
private void InitNormalInfo(GameObject player, EZ.Data.MonsterItem monsterItem) { //PassItem passData = m_Wave.GetPassData(); //if ((PassType)passData.passType == PassType.MainPass) //{ m_MaxHp = monsterItem.baseHp * Game.PlayerDataMgr.singleton.StageHpParam; //m_Damage = 25 * (1 + 0.25f) ^ (怪攻击等级 - 1); //m_Damage = Mathf.Ceil(25 * Mathf.Pow((1 + 0.25f), (Game.PlayerDataMgr.singleton.StageAtkLevel - 1))); //} //else //{ // PassItem passItem = Global.gApp.gSystemMgr.GetPassMgr().GetPassItem(); // if (passItem != null) // { // m_MaxHp = monsterItem.baseHp * passItem.hpParam * passData.hpParam; // } // else // { // m_MaxHp = monsterItem.baseHp * passData.hpParam; // } // if ((SceneType)passData.sceneType == SceneType.BreakOutSene) // { // transform.localScale = m_OriScale * 1.6f; // } // else // { // transform.localScale = m_OriScale; // } //} //m_MaxHp *= m_Wave.GetHpParam(); }
public override void Init(GameObject player, Wave wave, EZ.Data.MonsterItem monster) { base.Init(player, wave, monster); if (m_DeadHideNode != null) { m_DeadHideNode.SetActive(true); } m_UseRightBodyVec = true; m_Collider2D.isTrigger = false; gameObject.layer = GameConstVal.MonsterLayer; m_BaseSpeed = monster.baseSpeed; if (Global.gApp.CurScene.GetSceneType() == SceneType.BreakOutSene) { m_DeadThSpeed = new Vector2(0, -m_BaseSpeed * 0.7f); m_BaseSpeed *= 0.7f; } else { m_DeadThSpeed = new Vector2(0, -m_BaseSpeed * 0.8f); } m_Speed = new Vector2(0, -m_BaseSpeed); transform.localEulerAngles = new Vector3(0, 0, 180); if (CtlParticle != null) { CtlParticle.Play(); } }
public void CreateFassionMonster(int monsterId, Vector3 position) { EZ.Data.MonsterItem monsterItem = Global.gApp.gGameData.MosterData.Get(monsterId); Monster monster = m_WaveMgr.CreateMonster(monsterItem, true); monster.transform.position = position; m_Monsters.Add(monster); monster.Init(m_MainPlayer, this, monsterItem); m_MonsterCount++; }
public virtual void InitForCache(GameObject player, Wave wave, EZ.Data.MonsterItem monsterItem) { m_UsingSkill = false; enabled = true; InDeath = false; m_Wave = wave; m_CurDeadTime = 0; InitOnceInfo(player, monsterItem); SetCollisionEnable(false); PlayAnim(GameConstVal.Run, -1, Random.Range(0.0f, 1.0f)); RecycleSelf(); }
public virtual void Init(GameObject player, Wave wave, EZ.Data.MonsterItem monsterItem) { m_UsingSkill = false; enabled = true; InDeath = false; m_Wave = wave; m_CurDeadTime = 0; m_CurEffectTime = m_EffectDtTime; if (m_AiBuffMgr != null) { m_AiBuffMgr.ClearBuff(); } InitOnceInfo(player, monsterItem); if (SkinePlayerAnim != null) { SkinePlayerAnim.enabled = true; } PlayAnim(GameConstVal.Run, -1, Random.Range(0.0f, 1.0f)); SetAnimSpeed(1); InitNormalInfo(player, monsterItem); SetCollisionEnable(true); SetRightBodyType(RigidbodyType2D.Dynamic); m_Hp = m_MaxHp; Debug.Log("m_Hp " + m_Hp); if (monsterItem.hasHpSlider > 0) { Global.gApp.gMsgDispatcher.Broadcast <int, Transform>(MsgIds.AddMonsterHpUi, m_Guid, m_HpNode); } if (monsterItem.hasShowAct > 0) { AIBossShow3001 show = gameObject.AddComponent <AIBossShow3001>(); show.Init(player); show.AddApperaEffect(); } if (m_AiPauseAct != null) { m_AiPauseAct.Init(this); } else { SetActEnable(true); } }
private void InitOnceInfo(GameObject player, EZ.Data.MonsterItem monsterItem) { if (m_PlayerGo != null) { return; } if (SkinePlayerAnim != null) { SkinePlayerAnim.Init(); } m_OriLayer = gameObject.layer; m_BodyNode = transform.Find(GameConstVal.BodyNode); m_HpNode = transform.Find(GameConstVal.HpNode); m_AiBase = GetComponents <AiBase>(); m_MonsterId = monsterItem.tag; m_PlayerGo = player; m_Player = player.GetComponent <Player>(); m_MonsterItem = monsterItem; m_Rigidbody2D = GetComponent <Rigidbody2D>(); m_OriMass = m_Rigidbody2D.mass; m_Collider2D = GetComponent <Collider2D>(); m_AiPauseAct = GetComponentInChildren <AIPauseAct>(); m_OriScale = transform.localScale; m_OriSpeed = monsterItem.aniSpeed; if (monsterItem.type == (int)MonsterType.Boss) { int skillLevel = Global.gApp.gSystemMgr.GetSkillMgr().GetSkillLevel(GameConstVal.SExBossHarm); Skill_dataItem skillLevelData = Global.gApp.gGameData.SkillDataConfig.Get(skillLevel); m_DamageParam = (skillLevelData == null) ? 1f : skillLevelData.skill_exbossharm[0]; m_DeadthBackAct = false; } if (monsterItem.type == (int)MonsterType.Normal) { m_IsNormalMonster = true; } else { m_IsNormalMonster = false; } }
public MonsterItem Get(int tag) { int min = 0; int max = items.Length; while (min < max) { int index = (min + max) >> 1; MonsterItem item = _Items[index]; if (item.tag == tag) { return(item); } if (tag < item.tag) { max = index; } else { min = index + 1; } } return(null); }
public float GetDeadTime(Animator animator, EZ.Data.MonsterItem monster) { return(m_WaveMgr.GetDeadTime(animator, monster.path)); }