Esempio n. 1
0
 public override void Interact(NeverdawnCharacterController controller)
 {
     //if (PlayerParty.HasRoom())
     //{
     //    PlayerParty.AddCharacter(character);
     //}
 }
Esempio n. 2
0
 public override void Interact(NeverdawnCharacterController controller)
 {
     if (controller is AvatarController)
     {
         talker.Talk(controller as AvatarController);
     }
 }
    public override void Interact(NeverdawnCharacterController controller)
    {
        Mannequin mannequin = controller.character.GetComponent <Mannequin>();

        if (mannequin != null)
        {
            mannequin.Equip(equipable);
        }
    }
Esempio n. 4
0
 public override void Interact(NeverdawnCharacterController controller)
 {
     if (pickable.isPickable)
     {
         pickable.PickUpToGlobalInventory();
     }
     else
     {
         pickable.DropAtLocation(controller.character.transform);
     }
 }
Esempio n. 5
0
    public override void Interact(NeverdawnCharacterController controller)
    {
        if (pickable.isPickable)
        {
            pickable.RemoveFromCollection();
            PlayerInventory.AddGold(purse.gold);
        }


        pickable.frame.destroyed = true;
        Destroy(pickable.gameObject);
    }
Esempio n. 6
0
    private void updateCurrentControllers()
    {
        currentTurnControllers.Clear();

        Character character = currentCombatGroup[turnIndex];

        // find the next living character
        while (!character.isAlive)
        {
            turnIndex = NeverdawnUtility.RepeatIndex(turnIndex + 1, currentCombatGroup.Count);
            character = currentCombatGroup[turnIndex];
        }

        // fetch all characters in the party in the following sequence
        if (character.IsInPlayerParty)
        {
            while (character.IsInPlayerParty)
            {
                // find the current controller or an auxiliary controller
                NeverdawnCharacterController controller = character.controller;

                if (!controller)
                {
                    controller = findControllerForCharacter(character);
                }

                // collect the controllers and try to add more characters
                if (!currentTurnControllers.Contains(controller))
                {
                    controller.character = character;

                    currentTurnControllers.Add(controller);

                    turnIndex = NeverdawnUtility.RepeatIndex(turnIndex + 1, currentCombatGroup.Count);
                    character = currentCombatGroup[turnIndex];
                }
                else
                {
                    break;
                }
            }
        }
        else
        {
            currentTurnControllers.Add(character.controller);
            turnIndex = NeverdawnUtility.RepeatIndex(turnIndex + 1, currentCombatGroup.Count);
        }

        NeverdawnCamera.Clear();
        currentTurnControllers.ForEach(c => NeverdawnCamera.AddTargetLerped(c.character.cachedTransform));
    }
Esempio n. 7
0
    private NeverdawnCharacterController findControllerForCharacter(Character character)
    {
        AvatarController preferredController = _controllers.FirstOrDefault(c => c.preferredCharacterId == character.id);

        if (preferredController)
        {
            return(preferredController);
        }
        else
        {
            NeverdawnCharacterController auxiliaryController = _controllers[auxiliaryControllerIndex];
            auxiliaryControllerIndex = NeverdawnUtility.RepeatIndex(auxiliaryControllerIndex + 1, _controllers.Count);
            return(auxiliaryController);
        }
    }
Esempio n. 8
0
    // Update is called once per frame
    void Update()
    {
        if (_chachedController != _character.controller)
        {
            if (_character.controller)
            {
                background.color = _character.controller.color;
            }
            else
            {
                background.color = _defaultBackgroundColor;
            }

            _chachedController = _character.controller;
        }
    }
Esempio n. 9
0
 public override void Interact(NeverdawnCharacterController controller)
 {
     GameController.instance.StartCombat(fighter.GetComponent <Character>());
 }
Esempio n. 10
0
 public virtual void Interact(NeverdawnCharacterController character)
 {
 }
Esempio n. 11
0
 public override void Interact(NeverdawnCharacterController controller)
 {
     controller.character.Consume(consumable);
 }
 public override void Interact(NeverdawnCharacterController controller)
 {
     controller.ChoseInteraction(stack.firstInteractable);
 }
Esempio n. 13
0
    public override void Interact(NeverdawnCharacterController controller)
    {
        callback(controller);

        base.Interact(controller);
    }
 public override void Interact(NeverdawnCharacterController controller)
 {
     controller.Loot(container);
 }
Esempio n. 15
0
 internal void EndTurn(NeverdawnCharacterController characterController)
 {
     currentTurnControllers.Remove(characterController);
 }