コード例 #1
0
 private void Awake()
 {
     Instance      = this;
     cachedEnemies = new List <Enemy>();
     // TODO: Subscribe to a delegate or event, that adds into the 'cachedEnemy' whenever an enemies spawned.
     // Also, an event that removes from 'cachedEnemy' when an enemy dies too.
 }
コード例 #2
0
ファイル: DataParser.cs プロジェクト: irispon/RandomDiceCopy
    public void EnemyParse()
    {
        string      sql        = "SELECT*FROM Enemy ";
        IDataReader dataReader = DBManager.GetInstance().DataBaseRead(sql);
        EnemyCache  enemyCache = EnemyCache.GetInstance();

        while (dataReader.Read())
        {
            string spritePath = string.Empty;
            spritePath = dataReader.GetString(0);

            if (Application.platform == RuntimePlatform.Android)
            {
                spritePath = spritePath.Replace("./Assets/Resources/", "").Replace(".png", "");
                Sprite sprite = Resources.Load <Sprite>(spritePath);
                enemyCache.normalEnemies.Add(sprite);
            }
            else
            {
                Sprite sprite = SpriteLoader.LoadNewSprite(spritePath);
                enemyCache.normalEnemies.Add(sprite);
            }
        }


        sql        = "SELECT*FROM Boss";
        dataReader = DBManager.GetInstance().DataBaseRead(sql);

        while (dataReader.Read())
        {
            Enemy boss = new Enemy();

            string spritePath = string.Empty;
            string name       = dataReader.GetString(0);
            spritePath = dataReader.GetString(1);

            enemyCache.bosses.Add(name, boss);
            boss.speed = dataReader.GetFloat(2);
            //    Debug.Log(dataReader.GetFloat(2));
            boss.hp = dataReader.GetInt32(4);
            Sprite sprite;

            if (Application.platform == RuntimePlatform.Android)
            {
                spritePath = spritePath.Replace("./Assets/Resources/", "").Replace(".png", "");
                sprite     = Resources.Load <Sprite>(spritePath);
            }
            else
            {
                sprite = SpriteLoader.LoadNewSprite(spritePath);
            }


            boss.sprite = sprite;
            boss.maxHp  = boss.hp;
        }
    }
コード例 #3
0
ファイル: Spwan.cs プロジェクト: irispon/RandomDiceCopy
    /// <summary>
    /// 적 스텟 범위
    /// </summary>



    public void Start()
    {
        child        = GetComponent <PoolChild>();
        destinations = new Queue <Vector3>();
        destinations.Enqueue(board.SecondVertex());
        destinations.Enqueue(board.ThirdVertex());
        destinations.Enqueue(board.FourthVertex());
        StageManager.GetInstance().Join(this);
        enemyHp    = new Vector2(60, 200);
        enemySpeed = new Vector2(3f, 5f);
        enemyCache = EnemyCache.GetInstance();
        StartCoroutine(SpwanMonster());
    }
コード例 #4
0
 public GameObject popItem(enemyType _type)
 {
     if (cacheControllerDic.ContainsKey(_type))
     {
         return(cacheControllerDic[_type].popItem());
     }
     else
     {
         for (int i = 0; i < enemyItemList.Count; i++)
         {
             if (enemyItemList[i]._type == _type)
             {
                 EnemyCache cache = new EnemyCache(enemyItemList[i]._go, enemyItemList[i]._go);
                 cache.init(2, 10);
                 cacheControllerDic.Add(_type, cache);
                 return(cache.popItem());
             }
         }
         Debug.LogError("找不到此类型的Go");
         return(null);
     }
 }