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)); } }
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); }
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]); } }
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)); }