コード例 #1
0
        public static InteractionResult AttemptInteraction(string action)
        {
            //TODO: handle interacting with objects within a scene
            var matchingInteractions = CurrentScene.InteractionResults.Where(x => x.Action == action).ToList();

            if (matchingInteractions.Any())
            {
                var interaction = matchingInteractions.First();
                switch (interaction.ResultingObject)
                {
                case Scene scene:
                    CurrentScene = scene;
                    break;

                default:
                    CurrentScene.AddInteractions(interaction.ResultingObject.InteractionResults);
                    break;
                }

                return(matchingInteractions.First());
            }

            return(null);
        }