Edit: if TL;DR, I'm basically looking for suggestion on how to castrate PlayMaker in favor of using it solely as a way to visually plan and execute methods on my own C# scripts. I don't want to do any computational logic with it, I just want to call global transitions from code and have PM evaluate the appropriate method(s) to call on the script that asked. Best way to do this while limiting spaghetti and frivolous calls back and forth?
Fantastic reply, thanks so much! A singleton pattern makes sense for several tasks, so I've been investigating the best setup with much success. Using custom playmaker actions as go-betweens to get my scripts talking seems reasonable, though somehow I expected easier integration without using SendMessage - the ability to associate playmaker events with C# delegates, or strong enumeration of events and states to avoid needing custom actions.
Right now I'm experimenting, but having a hard time deciding where my coding stops and playmaker takes over. I bought PlayMaker on a whim because I became frustrated with coding my custom FSM. Now though, I wish it were simpler to use PlayMaker's visual editing to trigger method calls and coroutines on my scripts without the use of custom actions or invoke/send/broadcast message. Not the end of the world, but quite disappointing. Maybe I just don't know what I'm doing?
This is unfamiliar territory, so perhaps I'm not asking the right questions. Any comments on this would be helpful. Specifically, my current goal is creating an AI system which primarily relies on weighted steering behaviors, so an Attack Player state might represent something like AvoidObstacles + MoveTowardsTarget + Separation + Cohesion. I already have these behaviors coded as C# scripts, and all I really need is an FSM structure to switch among tasks. How would an experienced playmaker user approach this?
Also, are there any additional alternatives to make using playmaker more like script-to-script communicaiton? Passing one variable at a time seems... bad. Maybe another layer of abstraction? I bought playmaker to minimize the code I'd need to write for fsm management, and it already feels like I'm doing three times the work to achieve the desired results.