Exemplo n.º 1
0
 public void CopyTriggersFrom(MyMissionTriggers source)
 {
     m_winTriggers.Clear();
     foreach (var trigger in source.m_winTriggers)
     {
         m_winTriggers.Add(new MyTrigger(trigger));
     }
     m_loseTriggers.Clear();
     foreach (var trigger in source.m_loseTriggers)
     {
         m_loseTriggers.Add(new MyTrigger(trigger));
     }
 }
Exemplo n.º 2
0
 public void CopyTriggersFrom(MyMissionTriggers source)
 {
     m_winTriggers.Clear();
     foreach (var trigger in source.m_winTriggers)
     {
         m_winTriggers.Add((MyTrigger)trigger.Clone());
     }
     m_loseTriggers.Clear();
     foreach (var trigger in source.m_loseTriggers)
     {
         m_loseTriggers.Add((MyTrigger)trigger.Clone());
     }
     Won  = false;
     Lost = false;
 }
        public void TryCreateFromDefault(MyPlayer.PlayerId newId, bool overwrite)
        {
            if (overwrite)
                MissionTriggers.Remove(newId);
            else
                if (MissionTriggers.ContainsKey(newId))
                    return;//already exists, thats ok for us
            MyMissionTriggers mtrig = new MyMissionTriggers();
            MissionTriggers.Add(newId, mtrig);

            MyMissionTriggers source;
            MissionTriggers.TryGetValue(new MyPlayer.PlayerId(0,0), out source);
            if (source == null)
                //older save which does not have defaults set
                return;
            mtrig.CopyTriggersFrom(source);
        }
Exemplo n.º 4
0
 public void CopyTriggersFrom(MyMissionTriggers source)
 {
     m_winTriggers.Clear();
     foreach (var trigger in source.m_winTriggers)
     {
         var newTrig = (MyTrigger)trigger.Clone();
         newTrig.IsTrue = false;
         m_winTriggers.Add(newTrig);
     }
     m_loseTriggers.Clear();
     foreach (var trigger in source.m_loseTriggers)
     {
         var newTrig = (MyTrigger)trigger.Clone();
         newTrig.IsTrue = false;
         m_loseTriggers.Add(newTrig);
     }
     Won     = false;
     Lost    = false;
     Message = null;
     HideNotification();
 }
Exemplo n.º 5
0
 public void CopyTriggersFrom(MyMissionTriggers source)
 {
     m_winTriggers.Clear();
     foreach (var trigger in source.m_winTriggers)
     {
         var newTrig = (MyTrigger)trigger.Clone();
         newTrig.IsTrue = false;
         m_winTriggers.Add(newTrig);
     }
     m_loseTriggers.Clear();
     foreach (var trigger in source.m_loseTriggers)
     {
         var newTrig = (MyTrigger)trigger.Clone();
         newTrig.IsTrue = false;
         m_loseTriggers.Add(newTrig);
     }
     Won = false;
     Lost = false;
     Message = null;
     HideNotification();
 }
 public void Load(MyObjectBuilder_SessionComponentMission obj)
 {
     MissionTriggers.Clear();
     if (obj!=null && obj.Triggers != null)
         foreach (var trigger in obj.Triggers.Dictionary)
         {
             var id=new MyPlayer.PlayerId(trigger.Key.stm, trigger.Key.ser);
             var triggers = new MyMissionTriggers(trigger.Value);
             MissionTriggers.Add(id, triggers);
         }
 }
        public MyMissionTriggers TryCreateFromDefault(MyPlayer.PlayerId newId, bool overwrite = false)
        {
            MyMissionTriggers source;
            if (overwrite)
                MissionTriggers.Remove(newId);
            else
                if (MissionTriggers.TryGetValue(newId, out source))//(MissionTriggers.ContainsKey(newId))
                    return source;//already exists, thats ok for us
            MyMissionTriggers mtrig = new MyMissionTriggers();
            MissionTriggers.Add(newId, mtrig);

            MissionTriggers.TryGetValue(MyMissionTriggers.DefaultPlayerId, out source);
            if (source == null)
            {
                //older save which does not have defaults set
                source = new MyMissionTriggers();
                MySessionComponentMissionTriggers.Static.MissionTriggers.Add(MyMissionTriggers.DefaultPlayerId, source);
            }
            mtrig.CopyTriggersFrom(source);
            m_someoneWon = false;
            return mtrig;
        }
        private void SaveData()
        {
            //delete everyone else's triggers, they will be copied from defaults as needed
            foreach (var trg in MySessionComponentMissionTriggers.Static.MissionTriggers)
                trg.Value.HideNotification();
            MySessionComponentMissionTriggers.Static.MissionTriggers.Clear();
            //create defaults:
            MyMissionTriggers triggers;
            //if (!MySessionComponentMission.Static.MissionTriggers.TryGetValue(m_defaultId, out triggers))
            //{
                //Debug.Fail("Triggers don't exist");
                //return;
                triggers = new MyMissionTriggers();
                MySessionComponentMissionTriggers.Static.MissionTriggers.Add(MyMissionTriggers.DefaultPlayerId, triggers);
            //}
            //triggers.WinTriggers.Clear();
            //triggers.LoseTriggers.Clear();
            for (int i = 0; i < 6; i++)
            {
                if (m_winTrigger[i] != null)
                    triggers.WinTriggers.Add(m_winTrigger[i]);
                if (m_loseTrigger[i] != null)
                    triggers.LoseTriggers.Add(m_loseTrigger[i]);
            }

        }
        private void SetDefaultValues()
        {
            //triggers:
            MyMissionTriggers triggers;
            if (!MySessionComponentMissionTriggers.Static.MissionTriggers.TryGetValue(MyMissionTriggers.DefaultPlayerId, out triggers))
            {
                triggers = new MyMissionTriggers();
                MySessionComponentMissionTriggers.Static.MissionTriggers.Add(MyMissionTriggers.DefaultPlayerId, triggers);
                //Debug.Fail("Triggers do not exist");
                return;
            }
            int combo = 0;
            foreach(var trg in triggers.WinTriggers)
            {
                for(int i=0;i<m_winCombo[combo].GetItemsCount();i++)
                {
                    var item=m_winCombo[combo].GetItemByIndex(i);
                    if (item.Key == trg.GetType().GetHashCode())
                    {
                        m_winCombo[combo].ItemSelected -= OnWinComboSelect;
                        m_winCombo[combo].SelectItemByIndex(i);
                        m_winCombo[combo].ItemSelected += OnWinComboSelect;
                        m_winTrigger[combo] = (MyTrigger)trg.Clone();
                        m_winButton[combo].Enabled = true;
                        break;
                    }
                    m_winButton[combo].Enabled = false;
                }
                combo++;
            }

            combo = 0;
            foreach (var trg in triggers.LoseTriggers)
            {
                for (int i = 0; i < m_loseCombo[combo].GetItemsCount(); i++)
                {
                    var item = m_loseCombo[combo].GetItemByIndex(i);
                    if (item.Key == trg.GetType().GetHashCode())
                    {
                        m_loseCombo[combo].ItemSelected -= OnLoseComboSelect;
                        m_loseCombo[combo].SelectItemByIndex(i);
                        m_loseCombo[combo].ItemSelected += OnLoseComboSelect;
                        m_loseTrigger[combo] = (MyTrigger)trg.Clone();
                        m_loseButton[combo].Enabled = true;
                        break;
                    }
                    m_loseButton[combo].Enabled = false;
                }
                combo++;
            }

        }
        private void SaveData()
        {
            MyMissionTriggers triggers;
            if (!MySessionComponentMission.Static.MissionTriggers.TryGetValue(m_defaultId, out triggers))
            {
                //Debug.Fail("Triggers don't exist");
                //return;
                triggers = new MyMissionTriggers();
                MySessionComponentMission.Static.MissionTriggers.Add(m_defaultId, triggers);
            }
            triggers.WinTriggers.Clear();
            triggers.LoseTriggers.Clear();
            for (int i = 0; i < 6; i++)
            {
                if (m_winTrigger[i] != null)
                    triggers.WinTriggers.Add(m_winTrigger[i]);
                if (m_loseTrigger[i] != null)
                    triggers.LoseTriggers.Add(m_loseTrigger[i]);
            }

        }
Exemplo n.º 11
0
 public void CopyTriggersFrom(MyMissionTriggers source)
 {
     m_winTriggers.Clear();
     foreach (var trigger in source.m_winTriggers)
         m_winTriggers.Add(new MyTrigger(trigger));
     m_loseTriggers.Clear();
     foreach (var trigger in source.m_loseTriggers)
         m_loseTriggers.Add(new MyTrigger(trigger));
 }