コード例 #1
0
ファイル: ObjectData.cs プロジェクト: qdoyonnas/AdventureDemo
        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);
            }
        }
コード例 #2
0
        public BehaviourStrategy GetValue(Dictionary <string, object> context = null)
        {
            BehaviourStrategy b = behaviour.LoadData <BehaviourStrategy>(typeof(BehaviourData), context);

            return(b);
        }
コード例 #3
0
 public virtual void RemoveBehaviour(BehaviourStrategy behaviour)
 {
     behaviours.Remove(behaviour);
 }
コード例 #4
0
 public virtual void AddBehaviour(BehaviourStrategy behaviour)
 {
     behaviours.Add(behaviour);
     behaviour.Initialize(this);
 }