Ejemplo n.º 1
0
        /// <summary>
        ///     Activate this switch
        /// </summary>
        /// <remarks>
        ///     Invokes Deactivate after SwitchResetTime
        /// </remarks>
        /// <param name="player">The player that activates this switch</param>
        /// <returns></returns>
        public async Task Activate(Player player)
        {
            if (State)
            {
                return;
            }

            Activator = player;

            State = true;

            GameObject.Serialize(GameObject);

            await OnActivated.InvokeAsync(player);

            var _ = Task.Run(async() =>
            {
                await Task.Delay(SwitchResetTime * 1000);

                await Deactivate();
            });
        }