Exemple #1
0
 public void BuildEnemy(MasterEnemyParam _enemy, int _iLevel)
 {
     hp     = GetParamLevel(_enemy.hp, _iLevel);
     hp_max = hp;
     attack = GetParamLevel(_enemy.attack, _iLevel);
     speed  = GetParamLevel(_enemy.speed, _iLevel);
     def    = GetParamLevel(_enemy.def, _iLevel);
     mind   = GetParamLevel(_enemy.mind, _iLevel);
     luck   = GetParamLevel(_enemy.luck, _iLevel);
 }
Exemple #2
0
	public void Initialize( DataEnemyParam _data  , MasterEnemyParam _master)
	{
		m_goRoot.SetActive(true);

		m_dataEnemyParam = _data;
		m_masterEnemyParam = _master;

		m_txtBossName.text = m_masterEnemyParam.name;

		m_barBossHp.SetValueMax(m_dataEnemyParam.hp_max);
	}
Exemple #3
0
        private void create_enemies(int _iCurrentFloor, string _strDungeonId)
        {
            gameMain.ClearEnemy();

            MasterFloorParam floor_param = DataManager.Instance.masterFloor.list.Find(p =>
                                                                                      p.dungeon_id == _strDungeonId &&
                                                                                      (p.start <= _iCurrentFloor && _iCurrentFloor <= p.end));

            int[] enemy_index_prob = floor_param.GetEnemyIndexProb();

            int enemy_num = UtilRand.GetRand(10, 3);

            int[] pos_index      = new int[enemy_num];
            int[] pos_index_prob = new int[10];
            for (int i = 0; i < 10; i++)
            {
                pos_index_prob[i] = 100;
            }
            for (int i = 0; i < enemy_num; i++)
            {
                int iResult = UtilRand.GetIndex(pos_index_prob);
                pos_index[i]            = iResult;
                pos_index_prob[iResult] = 0;

                //Debug.Log(iResult);
            }



            for (int i = 0; i < enemy_num; i++)
            {
                //float x = UtilRand.GetRange(8.5f, 3.5f);
                float x = 3.5f + ((8.5f - 3.5f) / 10.0f) * pos_index[i];

                int index = UtilRand.GetIndex(enemy_index_prob);

                int enemy_id           = floor_param.GetEnemyId_fromIndex(index);
                MasterEnemyParam enemy = DataManager.Instance.masterEnemy.list.Find(p => p.enemy_id == enemy_id);

                gameMain.CreateEnemy(enemy, x, false);
            }

            if (_iCurrentFloor % 10 == 0)
            {
                MasterEnemyParam boss = DataManager.Instance.masterEnemy.list.Find(p => p.enemy_id == floor_param.boss);
                DataEnemyParam   data = gameMain.CreateEnemy(boss, 9.0f, true);
                gameMain.panelBossStatus.Initialize(data, boss);
            }
            else
            {
                gameMain.panelBossStatus.Disable();
            }
        }
Exemple #4
0
    public void CreateDropObject(EnemyBase enemyBase, MasterEnemyParam master_param)
    {
        Quaternion rot = new Quaternion(0.0f, 0.0f, 0.0f, 0.0f);
        GameObject obj = Instantiate(m_prefDropObject, enemyBase.gameObject.transform.position, rot, m_goFloor.transform) as GameObject;

        obj.SetActive(true);
        DropObject script = obj.GetComponent <DropObject>();

        int iDropItemId = master_param.GetDropItemId();

        MasterItemParam drop_item = DataManager.Instance.masterItem.list.Find(p => p.item_id == iDropItemId);

        script.Initialize(drop_item);
    }
Exemple #5
0
    public DataEnemyParam CreateEnemy(MasterEnemyParam _master, float _fPosX, bool _bIsBoss)
    {
        Enemy enemy = PrefabManager.Instance.MakeScript <Enemy>(m_prefEnemy, m_goStage);

        Vector3 scale = Vector3.one * ((float)_master.size / 100.0f);

        if (_bIsBoss)
        {
            scale *= 2.0f;
        }
        //enemy.gameObject.transform.localScale = scale;
        enemy.Initialize(_master, _fPosX, this, _bIsBoss, scale);
        enemy_list.Add(enemy);

        return(enemy.enemy_param);
    }
Exemple #6
0
    /*
     * [SerializeField]
     * private int show_hp;
     * [SerializeField]
     * private int show_hp_max;
     * [SerializeField]
     * private int show_attack;
     * [SerializeField]
     * private int show_defence;
     * [SerializeField]
     * private int show_speed;
     */

    public void Initialize(MasterEnemyParam _master, float _fPos, GameMain _game, bool _isBoss, Vector3 _scale)
    {
        enemy_param  = _master.Create(_isBoss);
        master_param = _master;
        m_gameMain   = _game;
        SetSprite(_master.sprite_name);
        if (_isBoss)
        {
            gameObject.name += "boss";
        }
        m_goSpriteRoot.transform.localScale = _scale;
        Touched = false;

        /*
         * show_hp = enemy_param.hp;
         * show_hp_max = enemy_param.hp_max;
         * show_attack = enemy_param.attack;
         * show_defence = enemy_param.defence;
         * show_speed = enemy_param.speed;
         */

        transform.localPosition = new Vector3(_fPos, 0.0f, 0.0f);
    }
Exemple #7
0
        public override void OnUpdate()
        {
            base.OnUpdate();

            if (enemy.is_setenemy)
            {
                MasterEnemyParam master_enemy = DataManager.Instance.masterEnemy.list.Find(p => p.enemy_id == enemy.enemy_id);
                enemy.dataUnitParam.BuildEnemy(master_enemy, enemy.enemy_level);
                if (enemy.is_boss)
                {
                    //enemy.gameObject.transform.localScale = Vector3.one * 2.0f;
                }
                enemy.m_sprEnemy.sprite = enemy.m_sprAtlas.GetSprite(master_enemy.sprite_name);
                if (enemy.m_sprEnemy.gameObject.GetComponent <BoxCollider2D>() != null)
                {
                    GameObject.Destroy(enemy.m_sprEnemy.gameObject.GetComponent <BoxCollider2D>());
                }
                enemy.m_bcEnemy    = enemy.m_sprEnemy.gameObject.AddComponent <BoxCollider2D>();
                enemy.attack_timer = enemy.attack_interval;

                Finish();
            }
        }
Exemple #8
0
    public MasterEnemyParam GetLevel(int _iLevel)
    {
        MasterEnemyParam ret = new MasterEnemyParam();

        return(ret);
    }