public override void Load(DataReader reader, bool singleFrameLoad = false) { base.Load(reader); SetColor(reader.Version > 0 ? reader.ReadColor() : Color.white); itemData = SavingVariableSaveLoad.LoadVariables(reader); }
public override void LoadNoVersion(DataReader reader) { base.LoadNoVersion(reader); SetColor(reader.ReadColor()); itemData = SavingVariableSaveLoad.LoadVariables(reader); }
public void RemoveItem(SavingVariable itemData) { items.Remove(itemData); Debug.Log(string.Format("Item {0} removed from inventory!", itemData.variableName)); if (onInventoryUpdated != null) { onInventoryUpdated(); } }
public void AddItem(SavingVariable itemData) { if (!IsFull && itemData != null) { items.Add(itemData); Debug.Log(string.Format("Item {0} added to inventory!", itemData.variableName)); if (onInventoryUpdated != null) { onInventoryUpdated(); } } }
/// <summary> /// Sends an RPC call to add item to the player's inventory /// </summary> /// <param name="item"></param> public void AddItemToInventory(SavingVariable item) { if (networkObject.IsServer) { using (var m = new MemoryStream()) { using (var writer = new BinaryWriter(m)) { SavingVariableSaveLoad.SaveVariables(new DataWriter(writer), item); MainThreadManager.Run(() => networkObject.SendRpc(RPC_ADD_ITEM_TO_INVENTORY, Receivers.All, m.ToArray())); } } } }
public static void SaveVariables(DataWriter writer, SavingVariable savingVariable) { writer.Write(savingVariable.variableName); writer.Write(savingVariable.intVariable); writer.Write(savingVariable.floatVariable); writer.Write(savingVariable.boolVariable); writer.Write(savingVariable.randomPosition); var count = savingVariable.intListVariable.Count; writer.Write(count); for (int i = 0; i < count; ++i) { writer.Write(savingVariable.intListVariable[i]); } }
public static SavingVariable LoadVariables(DataReader reader) { var variableName = reader.ReadString(); var intVariable = reader.ReadInt(); var floatVariable = reader.ReadFloat(); var boolVariable = reader.ReadBool(); var randomPosition = reader.ReadVector3(); var count = reader.ReadInt(); SavingVariable savingVariable = new SavingVariable(variableName, intVariable, floatVariable, boolVariable, randomPosition, count); savingVariable.intListVariable.Clear(); for (int i = 0; i < count; ++i) { savingVariable.intListVariable.Add(reader.ReadInt()); } return(savingVariable); }
public override void AddItemToInventory(RpcArgs args) { if (!networkObject.IsOwner) { return; } var data = args.GetNext <byte[]>(); SavingVariable itemData = null; using (var m = new MemoryStream(data)) { using (var reader = new BinaryReader(m)) { itemData = SavingVariableSaveLoad.LoadVariables(new DataReader(reader, 0)); } } BMSLogger.Instance.Log(string.Format("{0} added to inventory via RPC call", itemData.variableName)); PlayerState.Instance.AddItemToInventory(itemData); }
public void AddItemToInventory(SavingVariable itemdata) { Inventory.AddItem(itemdata); }