v0.1.4
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
# Release Notes v0.1.4
|
||||
|
||||
- Added a preference for pet interactions.
|
||||
- Added Pandas.
|
||||
@@ -0,0 +1,4 @@
|
||||
[h1]Release Notes v0.1.4[/h1]
|
||||
|
||||
- Added a preference for pet interactions.
|
||||
- Added Pandas.
|
||||
@@ -0,0 +1,48 @@
|
||||
using System.Collections.Generic;
|
||||
using KitchenLib.Utils;
|
||||
using Pets.Components.Properties;
|
||||
using Pets.Customs.Types;
|
||||
using Pets.Enums;
|
||||
using Pets.Interfaces;
|
||||
using Unity.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Pets.Customs
|
||||
{
|
||||
public class Panda : CustomPet
|
||||
{
|
||||
public override string UniqueNameID => "Panda";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("Panda").AssignMaterialsByNames();
|
||||
public override GameObject IconPrefab => Mod.Bundle.LoadAsset<GameObject>("PandaIcon").AssignMaterialsByNames();
|
||||
public override PetState DefaultState => PetState.Follow;
|
||||
|
||||
public override List<IPetProperty> Properties { get; protected set; } = new List<IPetProperty>()
|
||||
{
|
||||
new CActivities
|
||||
{
|
||||
Activities = new FixedListInt64
|
||||
{
|
||||
(int)PetState.Follow,
|
||||
(int)PetState.Eat,
|
||||
(int)PetState.Sleep,
|
||||
}
|
||||
},
|
||||
new CSleepingPositionOffset
|
||||
{
|
||||
Offset = new Vector2(-0.785f, -0.36f)
|
||||
},
|
||||
new CRoamNearOwner(),
|
||||
new CStapleAppliances
|
||||
{
|
||||
Appliances = new FixedListInt64
|
||||
{
|
||||
GDOUtils.GetCustomGameDataObject<PetBed>().ID
|
||||
}
|
||||
},
|
||||
new CStandBackFromFood
|
||||
{
|
||||
Distance = 0.5f
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -14,18 +14,35 @@ namespace Pets.Menus
|
||||
}
|
||||
|
||||
private Option<bool> petsHaveColliders = new Option<bool>(new List<bool> { true, false }, Mod.manager.GetPreference<PreferenceBool>("petsHaveColliders").Value, new List<string> { "Enabled", "Disabled" });
|
||||
private Option<int> petInteractionMode = new Option<int>(new List<int> { 0, 1, 2 }, Mod.manager.GetPreference<PreferenceInt>("petInteractionMode").Value, new List<string> { "Always", "Night Only", "Day Only" });
|
||||
|
||||
public override void Setup(int player_id)
|
||||
{
|
||||
AddLabel("Pet Colliders");
|
||||
|
||||
New<SpacerElement>(true);
|
||||
AddSelect(petsHaveColliders);
|
||||
|
||||
petsHaveColliders.OnChanged += delegate (object _, bool result)
|
||||
{
|
||||
Mod.manager.GetPreference<PreferenceBool>("petsHaveColliders").Set(result);
|
||||
};
|
||||
|
||||
New<SpacerElement>(true);
|
||||
|
||||
AddLabel("Pet Interaction ");
|
||||
|
||||
New<SpacerElement>(true);
|
||||
AddSelect(petInteractionMode);
|
||||
|
||||
petInteractionMode.OnChanged += delegate (object _, int result)
|
||||
{
|
||||
Mod.manager.GetPreference<PreferenceInt>("petInteractionMode").Set(result);
|
||||
};
|
||||
|
||||
New<SpacerElement>(true);
|
||||
New<SpacerElement>(true);
|
||||
|
||||
AddButton(base.Localisation["MENU_BACK_SETTINGS"], delegate(int i)
|
||||
{
|
||||
Mod.manager.Save();
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace Pets
|
||||
{
|
||||
public const string MOD_GUID = "com.starfluxgames.pets";
|
||||
public const string MOD_NAME = "Pets";
|
||||
public const string MOD_VERSION = "0.1.3";
|
||||
public const string MOD_VERSION = "0.1.4";
|
||||
public const string MOD_AUTHOR = "StarFluxGames";
|
||||
public const string MOD_GAMEVERSION = ">=1.1.8";
|
||||
|
||||
@@ -53,6 +53,7 @@ namespace Pets
|
||||
config.Pets.Add(GDOUtils.GetCustomGameDataObject<DogChihuahua>().ID);
|
||||
config.Pets.Add(GDOUtils.GetCustomGameDataObject<Elephant>().ID);
|
||||
config.Pets.Add(GDOUtils.GetCustomGameDataObject<Seal>().ID);
|
||||
config.Pets.Add(GDOUtils.GetCustomGameDataObject<Panda>().ID);
|
||||
config.Icon = Bundle.LoadAsset<Texture2D>("PawPrint");
|
||||
grid.Links.Add(config);
|
||||
}
|
||||
@@ -66,6 +67,7 @@ namespace Pets
|
||||
|
||||
manager = new PreferenceManager(MOD_GUID);
|
||||
manager.RegisterPreference(new PreferenceBool("petsHaveColliders", true));
|
||||
manager.RegisterPreference(new PreferenceInt("petInteractionMode", 0)); // 0 = Always, 1 = Night Only, 2 = Day Only
|
||||
manager.Load();
|
||||
manager.Save();
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Kitchen;
|
||||
using KitchenLib.Preferences;
|
||||
using KitchenMods;
|
||||
using Pets.Components;
|
||||
using Pets.Components.Menu;
|
||||
@@ -13,6 +14,9 @@ namespace Pets.Systems.EditorMenu
|
||||
}
|
||||
|
||||
protected override void Perform(ref InteractionData data)
|
||||
{
|
||||
int petInteractionMode = Mod.manager.GetPreference<PreferenceInt>("petInteractionMode").Value;
|
||||
if (petInteractionMode == 0 || petInteractionMode == 2)
|
||||
{
|
||||
EntityManager.AddComponentData(data.Target, new CTriggerPetEditor
|
||||
{
|
||||
@@ -22,3 +26,4 @@ namespace Pets.Systems.EditorMenu
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Kitchen;
|
||||
using KitchenLib.Preferences;
|
||||
using KitchenMods;
|
||||
using Pets.Components;
|
||||
using Pets.Components.Menu;
|
||||
@@ -13,6 +14,9 @@ namespace Pets.Systems.EditorMenu
|
||||
}
|
||||
|
||||
protected override void Perform(ref InteractionData data)
|
||||
{
|
||||
int petInteractionMode = Mod.manager.GetPreference<PreferenceInt>("petInteractionMode").Value;
|
||||
if (petInteractionMode == 0 || petInteractionMode == 1)
|
||||
{
|
||||
EntityManager.AddComponentData(data.Target, new CTriggerPetEditor
|
||||
{
|
||||
@@ -22,3 +26,4 @@ namespace Pets.Systems.EditorMenu
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user