• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja wywołująca się od momentu, w którym się zakończyła przy ostatnim wywołaniu

0 głosów
64 wizyt
pytanie zadane 12 sierpnia 2017 w C# i .NET przez Adam Olesiak Gaduła (3,270 p.)
public class Effect : Entity
{
    Entity source; 
    [SerializeField]
    Trigger trigger;//cant be left null
    [SerializeField]
    Target[] targets;//can be empty

    public virtual void InvokeEffect(Entity _source, Entity[] data)//data is different depending on Trigger attached: f.e. OnCardPlay will recieve reference to played Card. State Machine takes care of it
    {
        source = _source;
        //Possible things in overrides:
        //-Call arbiter functions:
        //--DoDmg
        //--Move
        //--Kill
        //--Heal
        //--Spawn
        //--EndTurn
        //--PlayCard
        //--Check targets - this ends the function and then, after user selects a valid target, arbiter calls this function again. It needs to start where it left off tho
        //If no possible targets are available, NoTargetablesException() is called instead and we enter a different branch of this method
    }
    public virtual void NoTargetablesException()
    {

    }
}

Mam funkcję, która może(ale nie musi, bo jest wirtualna) zadać użytkownikowi pytanie o target, na którym będzie się coś działo, jednak wtedy funkcja przestaje być wykonywana, i coś z zewnątrz wywołuje ją ponownie jak tylko valid target zostanie znaleziony. Funkcja powinna wtedy kontynuować się tam, gdzie ostatnio skończyła. W jaki sposób można to zrobić uniwersalnie?

1 odpowiedź

0 głosów
odpowiedź 12 sierpnia 2017 przez piotrsz109 Dyskutant (9,100 p.)

Tworzysz funkcję rekurencyjną. Dodaj argument np.: int i podasz 1 to wywoła Funcje1 jak 2 to Funkcje2. Na początku funkcji wstawisz warunek i koniec działa. To rozwiązanie brutalne, ale powinno działać

Podobne pytania

–1 głos
1 odpowiedź 66 wizyt
0 głosów
1 odpowiedź 75 wizyt
pytanie zadane 12 września 2015 w JavaScript, jQuery, AJAX przez makoso Mądrala (7,420 p.)
0 głosów
1 odpowiedź 52 wizyt
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

51,856 zapytań

94,589 odpowiedzi

192,770 komentarzy

25,275 pasjonatów

Przeglądających: 125
Pasjonatów: 0 Gości: 125

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...