Figments-of-the-Night/addons/inkgd/runtime/content/ink_variable_assignment.gd
Gerard Gascón b99855351d init
2025-04-24 17:23:34 +02:00

60 lines
1.7 KiB
GDScript

# warning-ignore-all:shadowed_variable
# warning-ignore-all:unused_class_variable
# ############################################################################ #
# Copyright © 2015-2021 inkle Ltd.
# Copyright © 2019-2022 Frédéric Maquin <fred@ephread.com>
# All Rights Reserved
#
# This file is part of inkgd.
# inkgd is licensed under the terms of the MIT license.
# ############################################################################ #
extends InkObject
class_name InkVariableAssignment
# ############################################################################ #
var variable_name = null # String?
var is_new_declaration: bool = false
var is_global: bool = false
func _init():
_init_with(null, false)
# (String?, bool) -> InkVariableAssignment
@warning_ignore("shadowed_variable")
func _init_with(variable_name, is_new_declaration: bool):
self.variable_name = variable_name
self.is_new_declaration = is_new_declaration
func _to_string() -> String:
return "VarAssign to %s" % variable_name
# ############################################################################ #
# GDScript extra methods
# ############################################################################ #
func is_ink_class(type: String) -> bool:
return type == "VariableAssignment" || super.is_ink_class(type)
func get_ink_class() -> String:
return "VariableAssignment"
# (String?, bool) -> InkVariableAssignment
@warning_ignore("shadowed_variable")
static func new_with(
variable_name: String,
is_new_declaration: bool
) -> InkVariableAssignment:
var variable_assignment = InkVariableAssignment.new()
variable_assignment._init_with(variable_name, is_new_declaration)
return variable_assignment