コード例 #1
0
ファイル: NPC.cs プロジェクト: mentalpop/GrabbyPaws
 // Start() does basic setup and also registers custom power level
 // delegates and starts wandering.
 protected override void Start()
 {
     base.Start();
     m_startPosition = transform.position;
     m_animator      = GetComponent <Animator>();
     factionMember   = GetComponent <FactionMember>();
     if (factionMember != null)
     {
         factionMember.GetPowerLevel = GetPowerLevel;
         factionMember.GetSelfPerceivedPowerLevel = GetSelfPerceivedPowerLevel;
     }
     Wander();
 }
コード例 #2
0
ファイル: DeedNode.cs プロジェクト: tcape/stc_game
        public override void OnExecute(IDialogueOwner dialogueOwner)
        {
//            var factionManager = QuestSystemLoveHateBridgeManager.factionManager;
            FactionMember factionMember = null;

            switch (ownerType)
            {
            case DialogueOwnerType.Player:
            {
                var p = PlayerManager.instance.currentPlayer;
                factionMember = p.GetComponent <FactionMember>();
                break;
            }

            case DialogueOwnerType.DialogueOwner:
            {
                var qg = QuestManager.instance.currentQuestGiver;
                if (qg != null)
                {
                    factionMember = qg.transform.GetComponent <FactionMember>();
                }

                break;
            }

            default:
                throw new ArgumentOutOfRangeException();
            }

            if (factionMember != null)
            {
                var deed = Deed.GetNew(deedInfo.tag, factionMember.factionID, deedInfo.targetFactionID, deedInfo.impact, deedInfo.aggression, factionMember.GetPowerLevel(), deedInfo.traits);

//                int numPersonalityTraits = factionManager.factionDatabase.personalityTraitDefinitions.Length;
//                float[] traits = Traits.Allocate(numPersonalityTraits, true); // Optional values that describe personality of deed.

                QuestSystemLoveHateBridgeManager.factionManager.CommitDeed
                (
                    factionMember,
                    deed,
                    requiresSight,
                    dimension,
                    radius
                );

                Deed.Release(deed);
            }

            Finish(true);
        }
コード例 #3
0
 // Start() does basic setup.
 protected override void Start()
 {
     base.Start();
     m_deedReporter = GetComponent <DeedReporter>();
     if (m_deedReporter != null)
     {
         m_deedReporter.enabled = true;                         // Dummy line to quiet Unity 2018+ if USE_PHYSICS2D isn't set yet.
     }
     m_member = GetComponent <FactionMember>();
     m_member.GetPowerLevel = GetPowerLevel;
     m_member.GetSelfPerceivedPowerLevel = GetSelfPerceivedPowerLevel;
     m_destination = GetRandomDestination();
     m_text        = GetComponentInChildren <UnityEngine.UI.Text>();
     ChangeState(State.Wander, null);
 }
コード例 #4
0
 public void RemoveMember(FactionMember member)
 {
     _members.Remove(member);
 }
コード例 #5
0
 public void AddMember(FactionMember member)
 {
     _members.Add(member);
 }
コード例 #6
0
 public void OnGossip(FactionMember other)
 {
     lastOtherFactionMember = other;
     StartEvent(eventInteractions.gossip);
 }
コード例 #7
0
 public void OnGreet(FactionMember other)
 {
     lastOtherFactionMember = other;
     StartEvent(eventInteractions.greet);
 }
コード例 #8
0
 public void OnShareRumors(FactionMember other)
 {
     lastOtherFactionMember = other;
     StartEvent(eventInteractions.shareRumors);
 }
コード例 #9
0
 public void OnAura(FactionMember other)
 {
     lastFactionMember = other;
     StartEvent(gameObject);
 }