Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | potatobanana |
first thank you for read this question.
why when i change one variable value in resource, the other variable also change?
when i set my atk value
, my dex value
also change.
when i remove this two, it did’t change my dex value. but why this two change my dex value
??
This two value in func set_atk_list( )
min_atk_list[1] = new_value
max_atk_list[1] = new_value
i do try use setget, still get same result
dex should be value should be zero.
the print resultresTest dex = 999 || atk = 77777777777 || dex_list[1] = 77777777777
this my resource
class_name ResTest_res extends Resource
export var atk_list : Array = [0,0,0,0,0,0]
export var min_atk_list : Array = [0,0,0,0,0,0]
export var max_atk_list : Array = [0,0,0,0,0,0]
var _atk : int = 0# calculate all atk list
var _min_atk : int = 0
var _max_atk : int = 0
# dex ################################
export var dex_list : Array = [0,0,0,0,0,0]
const dex_cap : int = 999
var _dex : int = 0
###########################################
## set atk ################################
func set_atk_list( ):
var new_value : int = 0
for st in atk_list:
new_value += st
#set min and max atk list
min_atk_list[1] = new_value
max_atk_list[1] = new_value
_atk = new_value
###########################################
## set min max atk ########################
func set_min_atk_list( ):
var new_value : int = 0
for st in min_atk_list:
new_value += st
_min_atk = new_value
func set_max_atk_list( ):
var new_value : int = 0
for st in max_atk_list:
new_value += st
_max_atk = new_value
#dex ##########
func set_dex_list( ):
var new_value : int = 0
for st in dex_list:
print( st, ">>>>>")
new_value += st
print( st, "<><>")
if new_value > dex_cap:
new_value = dex_cap
# set dex value
_dex = new_value
and this my node code
extends Node2D
var stats : ResTest_res = ResTest_res.new()
func _ready() -> void:
stats.atk_list[0] = 77777777777
stats.set_atk_list()
stats.dex_list[0] = 0
stats.set_dex_list()
print(name," dex = ", stats._dex, " || atk = ", stats._atk, " || dex_list[1] = ", stats.dex_list[1] )