View Revisions: Issue #571

Summary 0000571: ZScript - Array.delete doesn't work.
Revision 2017-04-12 09:17 by _mental_
Steps To Reproduce

class DerpClass {
    int asdf;
}

class Test : Thinker {
    Array<DerpClass> derps;

    Test Init() {
        ChangeStatNum(STAT_DEFAULT);
        return self;
    }

    override void Tick() {
        DerpClass d = new("DerpClass");

        derps.Push(d);
        Console.Printf(String.Format("new: %p", d));

        derps.Delete(0);

        for (int i = 0; i < derps.size(); ++i) {
            Console.Printf(String.Format("%d -> content: %p", i, derps[i]));
        }
        Console.Printf("");
    }

    static Test Get() {
        ThinkerIterator it = ThinkerIterator.Create("Test", STAT_DEFAULT);
        let p = Test(it.Next());
        if (p == null) {
            p = new("Test").Init();
        }
        return p;
    }
}
Revision 2017-04-12 08:49 by RaveYard
Steps To Reproduce [code=] class DerpClass { int asdf; } class Test : Thinker { Array<DerpClass> derps; Test Init() { ChangeStatNum(STAT_DEFAULT); return self; } override void Tick() { DerpClass d = new("DerpClass"); derps.Push(d); Console.Printf(String.Format("new: %p", d)); derps.Delete(0); for (int i = 0; i < derps.size(); ++i) { Console.Printf(String.Format("%d -> content: %p", i, derps[i])); } Console.Printf(""); } static Test Get() { ThinkerIterator it = ThinkerIterator.Create("Test", STAT_DEFAULT); let p = Test(it.Next()); if (p == null) { p = new("Test").Init(); } return p; } } [/code]