Exemplo n.º 1
0
        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);
        }