//
    public void SubscribeMethod(string AchieveType, int Id)
    {
        switch (AchieveType)
        {
        case "Jump":

            if (playData.achievements[Id].State == false)
            {
                JumpEvent += new JumpDelegate(JumpMethod);
                JumpBool   = true;
                JumpId     = Id;
                JumpTarget = playData.achievements[Id].Target;
            }
            break;

        case "Level":
            if (playData.achievements[Id].State == false)
            {
                LevelEvent += new LevelDelegate(LevelMethod);
                LevelBool   = true;
                LevelId     = Id;
                playData.achievements[LevelId].Done = playData.level;
                LevelTarget = playData.achievements[Id].Target;
            }
            break;

        case "Attack":
            if (playData.achievements[Id].State == false)
            {
                AttackEvent += new AttackDelegate(AttackMethod);
                AttackBool   = true;
                AttackId     = Id;
                AttackTarget = playData.achievements[Id].Target;
            }
            break;

        case "Die":
            if (playData.achievements[Id].State == false)
            {
                DieEvent += new DieDelegate(DieMethod);
                DieBool   = true;
                DieId     = Id;
                DieTarget = playData.achievements[Id].Target;
            }
            break;

        case "Kill":
            if (playData.achievements[Id].State == false)
            {
                KillEvent += new KillDelegate(KillMethod);
                KillBool   = true;
                KillId     = Id;
                KillTarget = playData.achievements[Id].Target;
            }
            break;
        }
    }
Beispiel #2
0
 void Shoot()
 {
     if (!Alive())
     {
         return;
     }
     killDelegate = Kill;
     weaponController.Shoot(weapon, transform.forward, killDelegate);
 }
        static void EndKill(IAsyncResult ar)
        {
            KillDelegate kd = (KillDelegate)ar.AsyncState;

            try
            {
                kd.EndInvoke(ar);
            }
            catch
            {
            }
        }
Beispiel #4
0
    //============================================================================

    public void ConenctKillEvent(KillDelegate del, int uId)
    {
        m_uId       = uId;
        m_killedDel = del;
    }