private void RemoveObjectRef(RoomObject obj) { string id = GetItemID(obj); RoomItemRefs.Remove(id); DesignItems.Remove(id); }
private void UpdateCharacterRef(Character c, string oldID) { if (!RoomItemRefs.ContainsKey(oldID)) { return; } string newID = GetItemID(c); // If the new key is also present that means we are swapping two items if (RoomItemRefs.ContainsKey(newID)) { var char2 = RoomItemRefs[newID]; RoomItemRefs.Remove(newID); RoomItemRefs.Remove(oldID); RoomItemRefs.Add(newID, c); RoomItemRefs.Add(oldID, char2); // We must keep DesignTimeProperties! var char1Item = DesignItems[oldID]; var char2Item = DesignItems[newID]; DesignItems.Remove(newID); DesignItems.Remove(oldID); DesignItems.Add(newID, char1Item); DesignItems.Add(oldID, char2Item); } else { RoomItemRefs.Remove(oldID); RoomItemRefs.Add(newID, c); // We must keep DesignTimeProperties! DesignItems.Add(newID, DesignItems[oldID]); DesignItems.Remove(oldID); } }
private Character GetCharacter(int x, int y, RoomEditorState state) { foreach (Character character in _game.RootCharacterFolder.AllItemsFlat) { DesignTimeProperties p; if (!DesignItems.TryGetValue(GetItemID(character), out p)) { continue; // character is not in the room } if (!p.Visible || p.Locked) { continue; } AgsView view = _game.FindViewByID(character.NormalView); if (view != null && view.Loops.Count > 0) { if (HitTest(x, y, character, view)) { return(character); } } } return(null); }
private void RemoveCharacterRef(Character c) { string id = GetItemID(c); RoomItemRefs.Remove(id); DesignItems.Remove(id); }
private void AddObjectRef(RoomObject obj) { string id = GetItemID(obj); if (RoomItemRefs.ContainsKey(id)) return; RoomItemRefs.Add(id, obj); DesignItems.Add(id, new DesignTimeProperties()); }
private void InitGameEntities() { // Initialize item reference RoomItemRefs = InitItemRefs(); // Initialize design-time properties // TODO: load last design settings DesignItems.Clear(); foreach (var item in RoomItemRefs) DesignItems.Add(item.Key, new DesignTimeProperties()); }
private void AddCharacterRef(Character c) { string id = GetItemID(c); if (RoomItemRefs.ContainsKey(id)) { return; } RoomItemRefs.Add(id, c); DesignItems.Add(id, new DesignTimeProperties()); }
public void PaintToHDC(IntPtr hdc, RoomEditorState state) { foreach (Character character in _game.RootCharacterFolder.AllItemsFlat) { DesignTimeProperties p; if (DesignItems.TryGetValue(GetItemID(character), out p) && p.Visible) { DrawCharacter(character, state); } } }
private void UpdateObjectRef(RoomObject obj, string oldID) { if (!RoomItemRefs.ContainsKey(oldID)) return; string newID = GetItemID(obj); RoomItemRefs.Remove(oldID); RoomItemRefs.Add(newID, obj); // We must keep DesignTimeProperties! DesignItems.Add(newID, DesignItems[oldID]); DesignItems.Remove(oldID); }
private void UpdateCharacterRef(Character c, string oldID) { if (!RoomItemRefs.ContainsKey(oldID)) { return; } string newID = GetItemID(c); RoomItemRefs.Remove(oldID); RoomItemRefs.Add(newID, c); // We must keep DesignTimeProperties! DesignItems.Add(newID, DesignItems[oldID]); DesignItems.Remove(oldID); }