public void Use(global::Player PlayerBody) { if (UseFunction(PlayerBody)) { PlayerBody.Stamina -= StaminaCost; } }
public static bool BasicWateringCan(global::Player PlayerBody) { if (!(PlayerBody.CollidingInteractable is FarmLand farmLand)) { return(false); } if (farmLand.IsWatered) { return(false); } farmLand.IsWatered = true; return(true); }
public static bool BasicHoe(global::Player PlayerBody) { if (!(PlayerBody.CollidingInteractable is FarmLand farmLand)) { return(false); } if (farmLand.State != FarmLand.states.UnCropped) { return(false); } farmLand.State = FarmLand.states.Cropped; farmLand.CroppedDay = PlayerBody.TimeNode.Day; farmLand.CroppedHour = PlayerBody.TimeNode.Hour; return(true); }
public RemotePlayerModel(ushort playerId, string username) { // Spawn remote player model by cloning the player prefab and replacing local player script by remote player ones. string playerPrefabPath = LDB.players.Select(PLAYER_PROTO_ID).PrefabPath; if (playerPrefabPath != null) { PlayerTransform = Object.Instantiate(Resources.Load <Transform>(playerPrefabPath)); PlayerModelTransform = PlayerTransform.Find("Model"); // Remove local player components Object.Destroy(PlayerTransform.GetComponent <PlayerFootsteps>()); Object.Destroy(PlayerTransform.GetComponent <PlayerEffect>()); Object.Destroy(PlayerTransform.GetComponent <PlayerAudio>()); Object.Destroy(PlayerTransform.GetComponent <PlayerAnimator>()); Object.Destroy(PlayerTransform.GetComponent <PlayerController>()); PlayerTransform.GetComponent <Rigidbody>().isKinematic = true; // Add remote player components Movement = PlayerTransform.gameObject.AddComponent <RemotePlayerMovement>(); Animator = PlayerTransform.gameObject.AddComponent <RemotePlayerAnimation>(); Effects = PlayerTransform.gameObject.AddComponent <RemotePlayerEffects>(); } PlayerTransform.gameObject.name = $"Remote Player ({playerId})"; PlayerInstance = new global::Player(); MechaInstance = new Mecha(); AccessTools.Property(typeof(global::Player), "mecha").SetValue(PlayerInstance, MechaInstance, null); MechaInstance.Init(PlayerInstance); //Fix MechaDroneRenderers AccessTools.Field(typeof(MechaDroneRenderer), "mat_0").SetValue(MechaInstance.droneRenderer, new Material(Configs.builtin.mechaDroneMat.shader)); Material mat = (Material)AccessTools.Field(typeof(MechaDroneRenderer), "mat_0").GetValue(MechaInstance.droneRenderer); MethodInvoker.GetHandler(AccessTools.Method(typeof(Material), "CopyPropertiesFromMaterial", new System.Type[] { typeof(Material) })).Invoke(mat, Configs.builtin.mechaDroneMat); PlayerId = playerId; Username = username; }
public Direction CurrentDirection; // THe players current facing direction public PlayerController(global::Player Body) { this.Body = Body; }
public virtual void Interact(global::Player PlayerBody) { }
public PlayerDashState(global::Player player, PlayerStateMachine stateMachine, PlayerData playerData, string animBoolName) : base(player, stateMachine, playerData, animBoolName) { }
public void Eat(global::Player PlayerBody) { PlayerBody.Stamina += StaminaIncrease; PlayerBody.Inventory.Remove(this); }