private void onButtonPressed(object sender, ButtonPressedEventArgs e) { if (e.Button.IsActionButton() && Game1.player.ActiveObject != null && Game1.player.ActiveObject.Name.StartsWith("Critter Cage: ")) { // Get the critter ID CritterData activeCritter = null; foreach (var critterData in CrittersData) { int check = ja.GetObjectId("Critter Cage: " + critterData.Value.Name()); if (check == Game1.player.ActiveObject.ParentSheetIndex) { activeCritter = critterData.Value; break; } } // Spawn the critter int x = (int)e.Cursor.GrabTile.X + 1, y = (int)e.Cursor.GrabTile.Y + 1; var critter = activeCritter.MakeFunction(x, y); Game1.player.currentLocation.addCritter(critter); Game1.player.reduceActiveItemByOne(); Helper.Input.Suppress(e.Button); } }
public CritterStats(CritterData _data, int _level, float _scaleFactor) { data = _data; level = _level; scaleFactor = _scaleFactor; InitializeStats(); }
public bool IsThreatenedByCritter(CritterData forgeignCritterData) { if (data == forgeignCritterData || data.size > forgeignCritterData.size || (data.type == forgeignCritterData.type && data.size > forgeignCritterData.size)) { return(false); } return(true); }
public Critter SpawnCritter(CritterData data, Vector3 pos, float yaw, Team team) { var critter = data.Spawn <Critter>(world, pos, yaw, null, null, team); return(critter); }