/// <summary>
 /// Refrescar el estado de los objetivos de esta mision
 /// </summary>
 /// <param name="_shotResul"></param>
 public void RefreshEstadoObjetivos(ShotResult _shotResul)
 {
     for (int i = 0; (i < MissionManager.instance.GetMission().Achievements.Count) && (i < m_primas.Length); ++i)
     {
         MissionAchievement objetivoCargado = GameplayService.gameLevelMission.GetAchievements()[i];
         m_primas[i].RefreshConseguido(MissionManager.instance.GetMission().Achievements[i].IsAchieved() || objetivoCargado.IsAchieved());
     }
 }
Exemple #2
0
        public async Task <ActionResult> DeleteConfirmed(Guid id)
        {
            MissionAchievement missionAchievement = await db.MissionAchievements.FindAsync(id);

            db.MissionAchievements.Remove(missionAchievement);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Exemple #3
0
        public async Task <ActionResult> Edit([Bind(Include = "uMissionAchievementID,uAchievementID,iMissionCount")] MissionAchievement missionAchievement)
        {
            if (ModelState.IsValid)
            {
                db.Entry(missionAchievement).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.uAchievementID = new SelectList(db.Achievements, "uAchievementID", "sName", missionAchievement.uAchievementID);
            return(View(missionAchievement));
        }
Exemple #4
0
        public async Task <ActionResult> Create([Bind(Include = "uMissionAchievementID,uAchievementID,iMissionCount")] MissionAchievement missionAchievement)
        {
            if (ModelState.IsValid)
            {
                missionAchievement.uMissionAchievementID = Guid.NewGuid();
                db.MissionAchievements.Add(missionAchievement);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.uAchievementID = new SelectList(db.Achievements, "uAchievementID", "sName", missionAchievement.uAchievementID);
            return(View(missionAchievement));
        }
Exemple #5
0
        // GET: MissionAchievements/Details/5
        public async Task <ActionResult> Details(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MissionAchievement missionAchievement = await db.MissionAchievements.FindAsync(id);

            if (missionAchievement == null)
            {
                return(HttpNotFound());
            }
            return(View(missionAchievement));
        }
Exemple #6
0
        // GET: MissionAchievements/Edit/5
        public async Task <ActionResult> Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MissionAchievement missionAchievement = await db.MissionAchievements.FindAsync(id);

            if (missionAchievement == null)
            {
                return(HttpNotFound());
            }
            ViewBag.uAchievementID = new SelectList(db.Achievements, "uAchievementID", "sName", missionAchievement.uAchievementID);
            return(View(missionAchievement));
        }
Exemple #7
0
    public static MissionAchievement CreateAchievement(Dictionary <string, object> achievementData)
    {
        string missionAchievementType = (string)achievementData["Type"];

        MissionAchievement newMissionAchievement = null;

        if (missionAchievementType == "score")
        {
            newMissionAchievement = new ScoreAchievement();
        }
        else if (missionAchievementType == "shooterWin")
        {
            newMissionAchievement = new ShooterWinAchievement();
        }
        else if (missionAchievementType == "shooterEffectBonus")
        {
            newMissionAchievement = new ShooterEffectBonusAchievement();
        }
        else if (missionAchievementType == "goalkeeperWin")
        {
            newMissionAchievement = new GoalkeeperWinAchievement();
        }
        else if (missionAchievementType == "perfect")
        {
            newMissionAchievement = new PerfectAchievement();
        }
        else if (missionAchievementType == "life")
        {
            newMissionAchievement = new LifeAchievement();
        }
        else
        {
            throw new ArgumentOutOfRangeException("El tipo de objetivo ( " + missionAchievementType + " ) no existe, revisa madafaka");
        }

        newMissionAchievement.LoadData(achievementData);
        return(newMissionAchievement);
    }
    // Use this for initialization
    void Start()
    {
        if (!MissionManager.instance.HasCurrentMission())
        {
            return;
        }
        if (m_primas == null)
        {
            // obtener la referencia a los elementos de esta interfaz
            m_primas = new cntPrima[4];
            for (int i = 0; i < m_primas.Length; ++i)
            {
                m_primas[i] = transform.FindChild("prima" + (i + 1)).GetComponent <cntPrima>();
            }

            // registrar el refresco de los objetivos
            ServiceLocator.Request <IShotResultService>().RegisterListener(RefreshEstadoObjetivos);
        }

        // inicializar los controles para mostrar las primas
        {
            int i = 0;
            for (; (i < MissionManager.instance.GetMission().Achievements.Count) && (i < m_primas.Length); ++i)
            {
                MissionAchievement objetivo        = MissionManager.instance.GetMission().Achievements[i];
                MissionAchievement objetivoCargado = GameplayService.gameLevelMission.GetAchievements()[i];
                m_primas[i] = transform.FindChild("prima" + (i + 1)).GetComponent <cntPrima>();
                m_primas[i].Inicializar(objetivo.DescriptionID, objetivo.IsAchieved() || objetivoCargado.IsAchieved());
                m_primas[i].gameObject.SetActive(true);
            }

            // ocultar los controles restantes
            for (; i < m_primas.Length; ++i)
            {
                m_primas[i].gameObject.SetActive(false);
            }
        }
    }
Exemple #9
0
    private void LoadAchievement(string str)
    {
        XmlDocument  doc    = new XmlDocument();
        StringReader reader = new StringReader(str);

        if (doc == null || reader == null)
        {
            return;
        }

        doc.Load(reader);
        XmlNode root      = doc.SelectSingleNode("AchievementData");
        XmlNode achNode   = root.SelectSingleNode("Achievements");
        XmlNode statsNode = root.SelectSingleNode("Stats");

        //Achievements
        XmlNodeList _AchDataList  = ((XmlElement)achNode).GetElementsByTagName("TriggerData");
        XmlNodeList _statDataList = ((XmlElement)statsNode).GetElementsByTagName("Data");

        int _achCount  = _AchDataList.Count;
        int _statCount = _statDataList.Count;

        m_Achievements = new AchievementInfo[_achCount];
        m_MissionAchs  = new MissionAchievement[_achCount];

        m_StatNames = new string[1 + _statCount];
        m_Stats     = new Istat[_achCount];

        foreach (XmlNode node in _AchDataList)
        {
            XmlElement   xe             = node as XmlElement;
            int          _achid         = PETools.XmlUtil.GetAttributeInt32(xe, "achID");
            int          _staid         = PETools.XmlUtil.GetAttributeInt32(xe, "staID");
            Eachievement _achievementID = (Eachievement)_achid;
            Estat        _statID        = (Estat)_staid;
            string       _name          = PETools.XmlUtil.GetAttributeString(xe, "APIname");
            string       _desc          = PETools.XmlUtil.GetAttributeString(xe, "AchieveDesc");
            int          _missionid     = PETools.XmlUtil.GetAttributeInt32(xe, "MissionID");
            MissionAchievement.Emisschedule _accomplishOrGet = (MissionAchievement.Emisschedule)PETools.XmlUtil.GetAttributeInt32(xe, "AccomplishOrGet");
            int _protoId = PETools.XmlUtil.GetAttributeInt32(xe, "ItemProtoId");

            m_Achievements[_achid] = (new AchievementInfo(_achievementID, _statID, _name, _desc, _protoId));

            m_StatNames[_staid] = "";
            TriggerStat mstat = new TriggerStat();
            mstat.SetGoal(1);
            m_Stats[_achid] = mstat;

            m_MissionAchs[_achid] = new MissionAchievement(_missionid, _accomplishOrGet);
        }

        //stats
        foreach (XmlNode node in _statDataList)
        {
            XmlElement xe     = node as XmlElement;
            int        _id    = PETools.XmlUtil.GetAttributeInt32(xe, "ID");
            int        _achid = PETools.XmlUtil.GetAttributeInt32(xe, "achID");
            string     _name  = PETools.XmlUtil.GetAttributeString(xe, "StatName");
            int        _goal  = PETools.XmlUtil.GetAttributeInt32(xe, "Goal");

            if (m_Stats.Length > _achid && m_Stats[_achid] != null)
            {
                m_Stats[_achid].SetGoal(_goal);
            }

            m_StatNames[_id] = _name;
        }
    }