protected virtual void PostInstantiate(GameObject gameObject, Dictionary <string, object> context = null) { foreach (VerbReference verbReference in verbs) { KeyValuePair <Verb, PossessionType> verb = verbReference.GetValue(); if (verb.Key == null) { WaywardManager.instance.Log($@"<red>ERROR: Invalid verb - Skipping</red>"); continue; } verb.Key.self = gameObject; gameObject.AddVerb(verb.Value, verb.Key); } foreach (BehaviourReference behaviourReference in behaviours) { BehaviourStrategy behaviour = behaviourReference.GetValue(); gameObject.AddBehaviour(behaviour); } }
public BehaviourStrategy GetValue(Dictionary <string, object> context = null) { BehaviourStrategy b = behaviour.LoadData <BehaviourStrategy>(typeof(BehaviourData), context); return(b); }
public virtual void RemoveBehaviour(BehaviourStrategy behaviour) { behaviours.Remove(behaviour); }
public virtual void AddBehaviour(BehaviourStrategy behaviour) { behaviours.Add(behaviour); behaviour.Initialize(this); }