Пример #1
0
    /*void demoParser_RoundEnd(object sender, DemoInfo.RoundEndedEventArgs e)
     * {
     *  //Debug.Log("Round Ended");
     * }
     * void demoParser_RoundStart(object sender, DemoInfo.RoundStartedEventArgs e)
     * {
     *  //Debug.Log("Round Started");
     * }
     * void demoParser_LastRoundHalf(object sender, DemoInfo.LastRoundHalfEventArgs e)
     * {
     *  //Debug.Log("Half Time");
     * }
     * void demoParser_MatchStarted(object sender, DemoInfo.MatchStartedEventArgs e)
     * {
     *  //Debug.Log("Match Started");
     * }
     * void demoParser_PlayerKilled(object sender, DemoInfo.PlayerKilledEventArgs e)
     * {
     *  //DemoParser parsedParser = ((DemoParser)sender);
     *  string victim = "Unknown", killer = "Unknown";
     *  try { victim = e.Victim.Name; }
     *  catch (System.Exception) { }
     *  try { killer = e.Killer.Name; }
     *  catch (System.Exception) { }
     *  //Debug.Log("Player Killed: " + victim + " By: " + killer + " Using: " + e.Weapon.Weapon);
     * }
     * void demoParser_PlayerHurt(object sender, DemoInfo.PlayerHurtEventArgs e)
     * {
     *  //DemoParser parsedParser = ((DemoParser)sender);
     *  //Debug.Log("Player Hurt: " + e.Player.Name + " By: " + e.Attacker.Name + " Using: " + e.Weapon.Weapon + " Current Health: " + e.Health);
     * }
     * void demoParser_PlayerBind(object sender, DemoInfo.PlayerBindEventArgs e)
     * {
     *  DemoParser parsedParser = ((DemoParser)sender);
     *  //Debug.Log("Player Connected: " + e.Player.Name + " Num Players: " + parsedParser.Players.Count);
     * }
     * void demoParser_HeaderParsed(object sender, DemoInfo.HeaderParsedEventArgs e)
     * {
     *  DemoInfo.DemoParser parsedParser = ((DemoInfo.DemoParser)sender);
     *  //Debug.Log("Map: " + parsedParser.Map);
     * }*/

    private void CreateTick()
    {
        GameTick tick = new GameTick();

        foreach (KeyValuePair <int, Player> entry in demoParser.Players)
        {
            WeaponInfo weaponInfo = null;
            if (entry.Value.ActiveWeapon != null)
            {
                weaponInfo = new WeaponInfo(entry.Value.ActiveWeaponID, entry.Value.ActiveWeapon);
            }

            EntityInfo entityInfo = new EntityInfo(entry.Value.Name, entry.Value.AdditionaInformations.Clantag, weaponInfo, entry.Value.EntityID, entry.Value.SteamID, entry.Value.Position, entry.Value.ViewDirectionX, entry.Value.ViewDirectionY, entry.Value.Velocity, entry.Value.HP, entry.Value.AdditionaInformations.Kills, entry.Value.TeamID, entry.Value.IsAlive, entry.Value.IsDucking);
            tick.AddPlayer(entry.Value);
            if (!players.ContainsKey(entry.Value))
            {
                players.Add(entry.Value, new DemoEntity(entry.Value, entityInfo));
            }
            else
            {
                players[entry.Value].AddTickInfo(entityInfo);
            }
        }
        tick.ctID = demoParser.ctID;
        tick.tID  = demoParser.tID;
        demoTicks.Add(tick);
    }