Page 1 of 1

Abstract actor classes can be summoned

PostPosted: Thu Nov 21, 2019 1:29 am
by Player701
ZScript allows defining abstract classes, intended to serve as parents for one or more concrete subclasses with shared logic and/or interface. As in many other programming languages, attempting to create an instance of an abstract class will cause an error:

Code: Select allExpand view
class TestClass abstract
{
    static TestClass Create()
    {
        return new('TestClass'); // Error: Cannot instantiate abstract class TestClass
    }
}

While there's no doubt that this behavior is certainly intended, there is also an inconsistency: abstract classes can still be instantiated with the "summon" console command, provided that they inherit from Actor. This should probably not be allowed.

(As a side note, I wish there were real abstract methods in ZScript...)

Re: Abstract actor classes can be summoned

PostPosted: Thu Dec 12, 2019 8:13 am
by Graf Zahl
fixed