public int CreateItemToken(int affectedItemID) { GameObject obj = null; obj = new ItemToken(GetNextID(), affectedItemID); return(RegisterGameObject(obj)); }
public override string ToString() { StringBuilder buf = new StringBuilder(); buf.Append(GetStmtPrefix()); buf.AppendFormat("循环每一个( {0},{1} )", this.ListExp.ToString(), ItemToken.ToCode()); buf.AppendLine(); buf.Append(Body.ToString()); return(buf.ToString()); }
public ItemToken GetItemToken(int key) { ItemToken i = null; GameObject obj = GetGameObject(key); if (obj != null && obj is ItemToken) { i = (ItemToken)obj; } return(i); }
public void OnMoveCommand(IntVector2 deltaPosition) { if (_scene.IsPositionFree(Position + deltaPosition)) { Position += deltaPosition; //Pickup items on the tile List <int> items = _scene.GetItemTokensAtPosition(Position); foreach (int i in items) { ItemToken token = _scene.GetGameObjectPool().GetItemToken(i); if (token != null) { Item item = _scene.GetGameObjectPool().GetItem(token.ItemID); if (item != null) { if (item.ObjectID == "magicCrystal") //Use crystals on pickup { item.OnUse(this); } else { AddItem(item); } token.Alive = false; } } } _currentEnergy -= moveCost; _turnOver = true; } else if (_scene.GetMap().DoesTileHaveFeature(Position + deltaPosition, Tile_SimpleFeatureType.DOOR)) { OnOpenDoor(Position + deltaPosition); } else { _scene.WriteMessage("Something is in your way!"); } }