예제 #1
0
        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);
            }
        }
예제 #2
0
 public CritterStats(CritterData _data, int _level, float _scaleFactor)
 {
     data        = _data;
     level       = _level;
     scaleFactor = _scaleFactor;
     InitializeStats();
 }
예제 #3
0
 public bool IsThreatenedByCritter(CritterData forgeignCritterData)
 {
     if (data == forgeignCritterData || data.size > forgeignCritterData.size || (data.type == forgeignCritterData.type && data.size > forgeignCritterData.size))
     {
         return(false);
     }
     return(true);
 }
예제 #4
0
        public Critter SpawnCritter(CritterData data, Vector3 pos, float yaw, Team team)
        {
            var critter = data.Spawn <Critter>(world, pos, yaw, null, null, team);

            return(critter);
        }