public void AddToken(Token token) { Type listType; listType = Heroes.GetListType(); if (listType.IsCompatibleWith(token.GetType())) { AllTokens.Add(token); Heroes.Add((Hero)token); return; } listType = Enemies.GetListType(); if (listType.IsCompatibleWith(token.GetType())) { AllTokens.Add(token); Enemies.Add((Enemy)token); return; } listType = Farmers.GetListType(); if (listType.IsCompatibleWith(token.GetType())) { AllTokens.Add(token); Farmers.Add((Farmer)token); return; } if (token is Fog) { AllTokens.Add(token); return; } if (token is Well) { AllTokens.Add(token); Well = (Well)token; return; } if (token is Witch) { AllTokens.Add(token); return; } if (token is Thorald) { AllTokens.Add(token); return; } // if none of these options means its an item AddItem(token); }
public void RemoveToken(int objectIndex) { if (objectIndex > AllTokens.Count - 1 || objectIndex < 0) { return; } Token token = AllTokens[objectIndex]; AllTokens.Remove(token); Type listType = Heroes.GetListType(); if (listType.IsCompatibleWith(token.GetType())) { Heroes.Remove((Hero)token); InventoryUICell.instance.ForceUpdate(this, cellID); return; } listType = Enemies.GetListType(); if (listType.IsCompatibleWith(token.GetType())) { Enemies.Remove((Enemy)token); InventoryUICell.instance.ForceUpdate(this, cellID); return; } listType = Farmers.GetListType(); if (listType.IsCompatibleWith(token.GetType())) { Farmers.Remove((Farmer)token); InventoryUICell.instance.ForceUpdate(this, cellID); return; } if (typeof(Well).IsCompatibleWith(token.GetType())) { Well = null; InventoryUICell.instance.ForceUpdate(this, cellID); return; } InventoryUICell.instance.ForceUpdate(this, cellID); }