コード例 #1
0
ファイル: Item.cs プロジェクト: ComLarsic/EFG-open-source
 public void Use(global::Player PlayerBody)
 {
     if (UseFunction(PlayerBody))
     {
         PlayerBody.Stamina -= StaminaCost;
     }
 }
コード例 #2
0
ファイル: Database.cs プロジェクト: ComLarsic/EFG-open-source
            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);
            }
コード例 #3
0
ファイル: Database.cs プロジェクト: ComLarsic/EFG-open-source
            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);
            }
コード例 #4
0
        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;
        }
コード例 #5
0
        public Direction CurrentDirection;         // THe players current facing direction

        public PlayerController(global::Player Body)
        {
            this.Body = Body;
        }
コード例 #6
0
 public virtual void Interact(global::Player PlayerBody)
 {
 }
コード例 #7
0
 public PlayerDashState(global::Player player, PlayerStateMachine stateMachine, PlayerData playerData, string animBoolName) : base(player, stateMachine, playerData, animBoolName)
 {
 }
コード例 #8
0
ファイル: Item.cs プロジェクト: ComLarsic/EFG-open-source
 public void Eat(global::Player PlayerBody)
 {
     PlayerBody.Stamina += StaminaIncrease;
     PlayerBody.Inventory.Remove(this);
 }