private static void PrintPackCount(string json)
    {
        IDPack gamepacks = JsonUtility.FromJson <IDPack>(json);

        Debug.Log("Pack Count: " + gamepacks.values.Length);
        Debug.Log(gamepacks.values[0]);
    }
예제 #2
0
    private void CalcSkillMove(EntityBase entity, SkillCfg skillCfg)
    {
        int tempDelay = 0;

        for (int i = 0; i < skillCfg.skillMove.Count; i++)
        {
            SkillMoveCfg skillMove = resSev.GetSkillMoveCfg(skillCfg.skillMove[i]);
            float        speed     = skillMove.moveDis / (skillMove.moveTime / 1000f);
            if (skillMove.delayTime > 0f)
            {
                IDPack pack_1 = timerSev.AddTimerTask((tid) =>
                {
                    entity.SetSkillMoveState(true, speed);
                    entity.sklMoveCBSet.Remove(tid);
                }, tempDelay + skillMove.delayTime);
                entity.sklMoveCBSet.Add(pack_1.id);
            }
            else
            {
                entity.SetSkillMoveState(true, speed);
            }

            IDPack pack_2 = timerSev.AddTimerTask((ttid) =>
            {
                entity.SetSkillMoveState(false);
                entity.sklMoveCBSet.Remove(ttid);
            }, tempDelay + skillMove.moveTime + skillMove.delayTime);
            entity.sklMoveCBSet.Add(pack_2.id);

            tempDelay += skillMove.delayTime + skillMove.moveTime;
        }
    }
예제 #3
0
    private void SetFinishedGames(string finishedGamesJson)
    {
        IDPack finishedGames = JsonUtility.FromJson <IDPack>(finishedGamesJson);

        clientConnection.finishedGames = new List <int>(finishedGames.values);
        RpcSetLocalTeamInfo(clientConnection.currentTeam, finishedGames);
    }
 private void SetGamePackIndexes(string json)
 {
     packIds          = JsonUtility.FromJson <IDPack>(json);
     packJsons        = new JSonPack();
     packJsons.ids    = packIds.values;
     packJsons.values = new string[packIds.values.Length];
     GetNextGamePack();
 }
예제 #5
0
    private void AttackEffect(EntityBase entity, int skillId)
    {
        SkillCfg skillCfg = resSev.GetSkillCfg(skillId);

        entity.curSkillCfg = skillCfg;

        if (!skillCfg.isBreak)
        {
            entity.entityState = EntityState.BatiState;
        }

        if (!skillCfg.isCollide)
        {
            Physics.IgnoreLayerCollision(9, 10);
            timerSev.AddTimerTask((tid) =>
            {
                Physics.IgnoreLayerCollision(9, 10, false);
            }, skillCfg.skillTime);
        }

        IDPack idpack = timerSev.AddTimerTask((tid) =>
        {
            entity.Idle();
        }, skillCfg.skillTime);

        entity.SetAction(skillCfg.aninAction);
        entity.SetFX(skillCfg.fx, skillCfg.skillTime);

        if (entity.entityType == EntityType.Player)
        {
            while (entity.toIdleSkillQue.Count > 0)
            {
                int deId = entity.toIdleSkillQue.Dequeue();
                timerSev.ReplaceTimeTask(deId, (tid) =>
                {
                    entity.SetAction(skillCfg.aninAction);
                }, 200, 1);
                timerSev.DeleteTimeTask(deId);
            }

            entity.toIdleSkillQue.Enqueue(idpack.id);
            if (entity.GetDirInput() == Vector2.zero)
            {
                Vector2 tarDir = entity.CalcTargetDir();
                if (tarDir != Vector2.zero)
                {
                    entity.SetAtkDir(tarDir, false);
                }
            }
            else
            {
                entity.SetAtkDir(entity.GetDirInput(), true);
            }
        }

        CalcSkillMove(entity, skillCfg);
    }
    private static void RemovePacks(string json)
    {
        IDPack gamepacks = JsonUtility.FromJson <IDPack>(json);

        foreach (var id in gamepacks.values)
        {
            GameUploader.DeleteGamePack(id);
        }
    }
예제 #7
0
 private void RpcSetLocalTeamInfo(Team team, IDPack finishedGames)
 {
     if (!isLocalPlayer)
     {
         return;
     }
     teamInfo                  = team;
     teamName.value            = teamInfo.teamName;
     teamScore.value           = teamInfo.score;
     clientState.finishedGames = new List <int>(finishedGames.values);
     onLoginCompleted.Raise();
 }
    private void SetGameDataIndexes(string json)
    {
        gameIds = JsonUtility.FromJson <IDPack>(json);
        List <int> ids = new List <int>(gameIds.values);

        for (int i = ids.Count - 1; i >= 0; i--)
        {
            if (ids[i] < ignoreGameIdsBelow)
            {
                ids.RemoveAt(i);
            }
        }
        gameJsons        = new JSonPack();
        gameJsons.ids    = ids.ToArray();
        gameJsons.values = new string[ids.Count];
        GetNextGameData();
    }
예제 #9
0
    private void AttackDamage(EntityBase entity, int skillId)
    {
        SkillCfg   cfg      = resSev.GetSkillCfg(skillId);
        List <int> actions  = cfg.skillAction;
        int        tempTime = 0;

        for (int i = 0; i < actions.Count; ++i)
        {
            int            j      = i;
            SkillActionCfg act    = resSev.GetSkillActionCfg(actions[j]);
            IDPack         iDPack = timerSev.AddTimerTask((tid) =>
            {
                SkillAction(entity, cfg, act, j);
                entity.sklActCBSet.Remove(tid);
            }, tempTime + act.delayTime);
            entity.sklActCBSet.Add(iDPack.id);

            tempTime += act.delayTime;
        }
    }
예제 #10
0
파일: Test.cs 프로젝트: WhitePetal/BTimer
    private void Update()
    {
        timer += Time.deltaTime;
        IDPack id = timeSys.AddTimerTask((tid) => { int a = 500 + 500; }, 500, 5);

        queue.Enqueue(id);

        if (timer > 1f)
        {
            timer = 0f;
            int rand = Random.Range(0, queue.Count / 2);
            for (int i = 0; i < rand; i++)
            {
                IDPack tid = queue.Dequeue();
                if (tid.type == TaskType.TimeTask)
                {
                    timeSys.DeleteTimeTask(tid.id);
                }
            }
        }
    }
    private static void PrintGameCount(string json)
    {
        IDPack games = JsonUtility.FromJson <IDPack>(json);

        Debug.Log("Game Count: " + games.values.Length);
    }