public void Pop(CoopLocalServerEnemy enemy)
    {
        int sid = stage.GenerateEnemyUniqId();

        count++;
        enemy.Pop(sid);
        stage.socket.SendEnemyPop(enemy);
    }
Esempio n. 2
0
    public void SendEnemyPop(CoopLocalServerEnemy enemy)
    {
        Coop_Model_EnemyPop coop_Model_EnemyPop = new Coop_Model_EnemyPop();

        coop_Model_EnemyPop.sid           = enemy.sid;
        coop_Model_EnemyPop.ownerClientId = MonoBehaviourSingleton <CoopManager> .I.coopMyClient.clientId;
        coop_Model_EnemyPop.popIndex      = enemy.popIndex;
        Send(coop_Model_EnemyPop, true);
    }
    public void Out(int sid)
    {
        CoopLocalServerEnemy coopLocalServerEnemy = enemys.Find((CoopLocalServerEnemy e) => e.sid == sid);

        if (coopLocalServerEnemy != null)
        {
            float num = data.GeneratePopTime();
            if (GetPopNum() < data.popNumMin)
            {
                num = 0f;
            }
            coopLocalServerEnemy.Out(Time.get_time() + num);
        }
    }
    public void Start()
    {
        if (MonoBehaviourSingleton <StageObjectManager> .IsValid() && !isStart)
        {
            isStart = true;
            Action <StageObject> action = delegate(StageObject o)
            {
                Enemy enemy = o as Enemy;
                if (!(enemy == null) && enemy.enemyPopIndex == popIndex)
                {
                    CoopLocalServerEnemy coopLocalServerEnemy = new CoopLocalServerEnemy(this, 0f);
                    coopLocalServerEnemy.Pop(enemy.id);
                    enemys.Add(coopLocalServerEnemy);
                }
            };
            MonoBehaviourSingleton <StageObjectManager> .I.enemyList.ForEach(action);

            MonoBehaviourSingleton <StageObjectManager> .I.cacheList.ForEach(action);

            for (int i = enemys.Count; i < data.popNumMax; i++)
            {
                float pop_time = data.GeneratePopTime();
                if (i < data.popNumInit)
                {
                    pop_time = 0f;
                }
                else if (i < data.popNumMin)
                {
                    pop_time = 0f;
                }
                CoopLocalServerEnemy item = new CoopLocalServerEnemy(this, pop_time);
                enemys.Add(item);
            }
            Update();
        }
    }