public static T TryGUIDThenFull <T>(this SerializationInfo info, StreamingContext context, string variableName) where T : GameObject { if (!context.GetVars().FullySerializeEverything&& info.ContainsKey(variableName + "GUID")) { return(context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString(variableName + "GUID"))) as T); } else { return(info.GetValue(variableName, typeof(T)) as T); } }
public override void GetObjectData(SerializationInfo info, StreamingContext context) { SerializationHelper.Variables v = context.GetVars(); info.AddValue("type", type); info.AddValue("passable", passable); if (v.FullySerializeEverything || v.FullySerialized.Contains(onTile.GUID)) { info.AddValue("onTile", onTile); } else { info.AddValue("onTileGUID", OnTile.GUID.ToString()); } //Serialization of seenBy is split up so only Living objects that need to be fully serialized are. Dictionary <string, float> guidBasedSeenBy = new Dictionary <string, float>(); Dictionary <Living, float> fullSeenBy = new Dictionary <Living, float>(); foreach (KeyValuePair <Living, float> kvp in seenBy) { if (v.FullySerializeEverything || v.FullySerialized.Contains(kvp.Key.GUID)) { fullSeenBy.Add(kvp.Key, kvp.Value); } else { guidBasedSeenBy.Add(kvp.Key.GUID.ToString(), kvp.Value); } } info.AddValue("seenBy", fullSeenBy); info.AddValue("seenByGUIDs", guidBasedSeenBy); base.GetObjectData(info, context); }
public override void GetObjectData(SerializationInfo info, StreamingContext context) { context.GetVars().FullySerializeEverything = true; info.AddValue("updatedLevel", updatedLevel); base.GetObjectData(info, context); }
public Tile(SerializationInfo info, StreamingContext context) : base(info, context) { type = (TileType)info.GetValue("type", typeof(TileType)); passable = info.GetBoolean("passable"); onTile = info.TryGUIDThenFull <GameObjectList>(context, "onTile"); tempLocal = context.GetVars().Local; tempSeenBy = info.GetValue("seenByGUIDs", typeof(Dictionary <string, float>)) as Dictionary <string, float>; seenBy = info.GetValue("seenBy", typeof(Dictionary <Living, float>)) as Dictionary <Living, float>; }
public override void GetObjectData(SerializationInfo info, StreamingContext context) { SerializationHelper.Variables v = context.GetVars(); if (v.FullySerializeEverything || v.FullySerialized.Contains(parentTile.GUID)) { info.AddValue("parentTile", parentTile); } else { info.AddValue("parentTileGUID", parentTile.GUID.ToString()); } info.AddValue("open", open); base.GetObjectData(info, context); }
public override void GetObjectData(SerializationInfo info, StreamingContext context) { SerializationHelper.Variables v = context.GetVars(); if (item == null || v.FullySerializeEverything || v.FullySerialized.Contains(item.GUID)) { info.AddValue("item", item); } else { info.AddValue("itemGUID", item.GUID.ToString()); } base.GetObjectData(info, context); }
public override void GetObjectData(SerializationInfo info, StreamingContext context) { SerializationHelper.Variables v = context.GetVars(); if (v.FullySerializeEverything || v.FullySerialized.Contains(mouseSlot.GUID)) { info.AddValue("mouseSlot", mouseSlot); } else { info.AddValue("mouseSlotGUID", mouseSlot.GUID.ToString()); } info.AddValue("playerType", playerType); info.AddValue("playerNameTitle", playerNameTitle); info.AddValue("exp", exp); info.AddValue("freeStatPoints", freeStatPoints); base.GetObjectData(info, context); }
public override void GetObjectData(SerializationInfo info, StreamingContext context) { SerializationHelper.Variables v = context.GetVars(); if (v.FullySerializeEverything || v.FullySerialized.Contains(iBox.GUID)) { info.AddValue("iBox", iBox); } else { info.AddValue("iBoxGUID", iBox.GUID.ToString()); } info.AddValue("Closed", Closed); info.AddValue("floorNumber", floorNumber); info.AddValue("openContainerSprite", openContainerSprite); info.AddValue("openSound", openSound); base.GetObjectData(info, context); }
public virtual void GetObjectData(SerializationInfo info, StreamingContext context) { SerializationHelper.Variables v = context.GetVars(); if (parent == null || v.FullySerializeEverything || v.FullySerialized.Contains(parent.GUID)) { info.AddValue("parent", parent); } else { info.AddValue("parentGUID", parent.GUID.ToString()); } info.AddValue("posX", position.X); info.AddValue("posY", position.Y); info.AddValue("velX", velocity.X); info.AddValue("velY", velocity.Y); info.AddValue("layer", layer); info.AddValue("id", id); info.AddValue("visible", visible); info.AddValue("guid", guid); }
public DeathAnimationEvent(SerializationInfo info, StreamingContext context) : base(info, context) { dead = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("deadGUID"))) as Living; }
public StatIncreaseEvent(SerializationInfo info, StreamingContext context) : base(info, context) { player = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("playerGUID"))) as Player; stat = (Stat)info.GetValue("stat", typeof(Stat)); }
public PlayerMoveEvent(SerializationInfo info, StreamingContext context) : base(info, context) { tile = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("tileGUID"))) as Tile; }
public override void GetObjectData(SerializationInfo info, StreamingContext context) { base.GetObjectData(info, context); //animations info.AddValue("idleAnimation", idleAnimation); info.AddValue("moveAnimation", moveAnimation); info.AddValue("dieAnimation", dieAnimation); info.AddValue("dieSound", dieSound); SerializationHelper.Variables v = context.GetVars(); if (v.FullySerializeEverything || v.FullySerialized.Contains(inventory.GUID)) { info.AddValue("inventory", inventory); } else { info.AddValue("inventoryGUID", inventory.GUID.ToString()); } if (v.FullySerializeEverything || v.FullySerialized.Contains(equipmentSlots.GUID)) { info.AddValue("equipmentSlots", equipmentSlots); } else { info.AddValue("equipmentSlotsGUID", equipmentSlots.GUID.ToString()); } if (v.FullySerializeEverything || v.FullySerialized.Contains(skillList.GUID)) { info.AddValue("skillList", skillList); } else { info.AddValue("skillListGUID", skillList.GUID.ToString()); } if (currentSkill == null || v.FullySerializeEverything || v.FullySerialized.Contains(currentSkill.GUID)) { info.AddValue("currentSkill", currentSkill); } else { info.AddValue("currentSkillGUID", currentSkill.GUID.ToString()); } //stats info.AddValue("manaPoints", manaPoints); info.AddValue("healthPoints", healthPoints); info.AddValue("actionPoints", actionPoints); info.AddValue("baseAttack", baseAttack); info.AddValue("strength", strength); info.AddValue("dexterity", dexterity); info.AddValue("intelligence", intelligence); info.AddValue("creatureLevel", creatureLevel); info.AddValue("vitality", vitality); info.AddValue("wisdom", wisdom); info.AddValue("luck", luck); info.AddValue("baseReach", baseReach); info.AddValue("specialReach", specialReach); info.AddValue("viewDistance", viewDistance); }
public ChangedSkillEvent(SerializationInfo info, StreamingContext context) : base(info, context) { player = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("playerGUID"))) as Player; newSelectedSkill = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("newSelectedSkillGUID"))) as Skill; }
public LivingMoveAnimationEvent(SerializationInfo info, StreamingContext context) : base(info, context) { toMove = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("toMoveGUID"))) as Living; destination = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("destinationGUID"))) as Tile; }
public DoorEvent(SerializationInfo info, StreamingContext context) : base(info, context) { door = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("doorGUID"))) as Door; }
public AttackEvent(SerializationInfo info, StreamingContext context) : base(info, context) { Defender = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("DefenderGUID"))) as Living; }
public DisarmTrapEvent(SerializationInfo info, StreamingContext context) : base(info, context) { trap = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("trapGUID"))) as Trap; }
public TakenPotionEvent(SerializationInfo info, StreamingContext context) : base(info, context) { potion = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("potionGUID"))) as Potion; }
public NextLevelEvent(SerializationInfo info, StreamingContext context) : base(info, context) { end = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("endGUID"))) as End; player = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("playerGUID"))) as Player; }
public SkillEvent(SerializationInfo info, StreamingContext context) : base(info, context) { target = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("DefenderGUID"))) as GameObject; }
public PickupEvent(SerializationInfo info, StreamingContext context) : base(info, context) { item = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("itemGUID"))) as Item; player = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("playerGUID"))) as Player; target = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("targetGUID"))) as ItemSlot; }
public EndTurnEvent(SerializationInfo info, StreamingContext context) : base(info, context) { player = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("playerGUID"))) as Player; }
public OpenedChestEvent(SerializationInfo info, StreamingContext context) : base(info, context) { container = context.GetVars().Local.GetGameObjectByGUID(Guid.Parse(info.GetString("containerGUID"))) as Container; }