1
0
Pārlūkot izejas kodu

+ 新增itags声明,尚未实装

tianhaobu 3 mēneši atpakaļ
vecāks
revīzija
e01d7487c2

+ 2 - 0
ddmyx.yyp

@@ -62,6 +62,7 @@
     {"id":{"name":"更新日志DrDuck","path":"notes/更新日志DrDuck/更新日志DrDuck.yy",},},
     {"id":{"name":"更新日志tianhaobu","path":"notes/更新日志tianhaobu/更新日志tianhaobu.yy",},},
     {"id":{"name":"oAudioManager","path":"objects/oAudioManager/oAudioManager.yy",},},
+    {"id":{"name":"oBeginStepManager","path":"objects/oBeginStepManager/oBeginStepManager.yy",},},
     {"id":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},},
     {"id":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},},
     {"id":{"name":"oBossHex","path":"objects/oBossHex/oBossHex.yy",},},
@@ -131,6 +132,7 @@
     {"id":{"name":"EnemyStates","path":"scripts/EnemyStates/EnemyStates.yy",},},
     {"id":{"name":"FlyingAI","path":"scripts/FlyingAI/FlyingAI.yy",},},
     {"id":{"name":"FlyingTrackAI","path":"scripts/FlyingTrackAI/FlyingTrackAI.yy",},},
+    {"id":{"name":"FunctionMisc","path":"scripts/FunctionMisc/FunctionMisc.yy",},},
     {"id":{"name":"General","path":"scripts/General/General.yy",},},
     {"id":{"name":"HexAI","path":"scripts/HexAI/HexAI.yy",},},
     {"id":{"name":"Interaction","path":"scripts/Interaction/Interaction.yy",},},

+ 3 - 0
objects/oBeginStepManager/Step_1.gml

@@ -0,0 +1,3 @@
+
+
+_handle_init();

+ 35 - 0
objects/oBeginStepManager/oBeginStepManager.yy

@@ -0,0 +1,35 @@
+{
+  "$GMObject":"",
+  "%Name":"oBeginStepManager",
+  "eventList":[
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":1,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+  ],
+  "managed":true,
+  "name":"oBeginStepManager",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"CoreObjects",
+    "path":"folders/CoreObjects.yy",
+  },
+  "parentObjectId":null,
+  "persistent":true,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":null,
+  "spriteMaskId":null,
+  "visible":false,
+}

+ 1 - 0
objects/oInGameManager/Create_0.gml

@@ -1,4 +1,5 @@
 random_set_seed(current_time);
+show_debug_overlay(true)
 
 global.player = icl(oPlayer);
 global.camera = icl(oCamera);

+ 1 - 0
objects/oMain/Create_0.gml

@@ -1,5 +1,6 @@
 random_set_seed(current_time)
 
+icl(oBeginStepManager);
 icl(oAudioManager);
 
 global.input_handles_index = [

+ 0 - 1
objects/oMain/Step_1.gml

@@ -1 +0,0 @@
-_handle_init();

+ 0 - 1
objects/oMain/oMain.yy

@@ -5,7 +5,6 @@
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":64,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
-    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":1,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   "managed":true,
   "name":"oMain",

+ 91 - 0
scripts/FunctionMisc/FunctionMisc.gml

@@ -0,0 +1,91 @@
+function tag_add(_inst, _tag){
+	if (!variable_instance_exists(_inst, "itags")) {
+        _inst.itags = [];
+	}
+	if (!has_tag(_inst, _tag)){
+		array_push(_inst.itags, _tags);
+    }
+}
+
+function tag_has(_inst, _tag){
+	if (!variable_instance_exists(_inst, "itags")) {
+		return false;
+	}
+	for (var _index = 0; _index < array_length(_inst.itags); _index++){
+		if (_inst.itags[_index] == _tag){
+			return true;
+		}
+	}
+	return false;
+}
+
+function tag_has_any(_inst, _tags_array){
+	if (!variable_instance_exists(_inst, "itags")) {
+		return false;
+	}
+	for (var _index = 0; _index < array_length(_tags_array); _index++){
+		if (tag_has(_inst, _tags_array[_index])){
+			return true;
+		}
+	}
+	return false;
+}
+
+function tag_has_all(_inst, _tags_array){
+	if (!variable_instance_exists(_inst, "itags")) {
+		return false;
+	}
+    for (var _index = 0; _index < array_length(_tags_array); _index++){
+        if (!tag_has(_inst, _tags_array[_index])){
+            return false;
+        }
+    }
+    return true;
+}
+
+function tag_has_without(_inst, _tags_array){
+	if (!variable_instance_exists(_inst, "itags")) {
+		return false;
+	}
+	for (var _index = 0; _index < array_length(_tags_array); _index++){
+		if (tag_has(_inst, _tags_array[_index])){
+			return false;
+		}
+	}
+	return true;
+}
+
+
+function tag_remove(_inst, _tag){
+	if (!variable_instance_exists(_inst, "itags")) {
+		_inst.itags = [];
+		return;
+	}
+	if (has_tag(_inst, _tag)){
+		for (var _index = 0; _index < array_length(_inst.itags); _index++){
+			if (_inst.itags[_index] == _tag){
+				array_delete(_inst.itags, _index, 1);
+				break;
+			}
+		}
+    }
+}
+
+
+function tag_clear(_inst){
+	if (!variable_instance_exists(_inst, "itags")) {
+		_inst.itags = [];
+		return;
+	}
+	_inst.itags = [];
+}
+
+function tag_get_all(_tag){
+	var _res =[];
+	with (all){
+		if (tag_has(id, _tag)){
+			array_push(_res, id);
+		}
+	}
+	return _res;
+}

+ 13 - 0
scripts/FunctionMisc/FunctionMisc.yy

@@ -0,0 +1,13 @@
+{
+  "$GMScript":"v1",
+  "%Name":"FunctionMisc",
+  "isCompatibility":false,
+  "isDnD":false,
+  "name":"FunctionMisc",
+  "parent":{
+    "name":"Scripts",
+    "path":"folders/Scripts.yy",
+  },
+  "resourceType":"GMScript",
+  "resourceVersion":"2.0",
+}