/// <summary> /// Handles the aspects of WWObject Instantiation that rely on the resource metadata. /// </summary> /// <param name="gameObject">The base GameObject which contains only resource, location, and rotation data</param> /// <param name="metadata">The metadata which will be used to construct the WWObject</param> /// <returns></returns> public static WWObject ConstructWWObject(GameObject gameObject, WWResourceMetadata metadata) { // Make the GameObject into a Tile, Prop, etc. Type type = WWTypeHelper.ConvertToSysType(metadata.wwObjectMetadata.type); /*Debug.Log(gameObject.name); * if (gameObject.name == "Skeleton(Clone)" || gameObject.name == "Zombie(Clone)") * { * * } else if (gameObject.name == "Tile_FloorBrick(Clone)" || gameObject.name == "Tile_Staircase(Clone)") * { * //terrain * gameObject.layer = 9; * } else { * //obstacle * gameObject.layer = 8; * }*/ var wwObject = gameObject.AddComponent(type) as WWObject; // Scale the object to the current tile scale. wwObject.transform.localScale = Vector3.one * CoordinateHelper.tileLengthScale * gameObject.transform.localScale.x;// * metadata.wwObjectMetadata.baseTileSize; // remove the WWResourceMetadata component for a microptimization #if UNITY_EDITOR Object.DestroyImmediate(wwObject.GetComponent <WWResourceMetadata>()); #else GameObject.Destroy(wwObject.GetComponent <WWResourceMetadata>()); #endif wwObject.gameObject.SetActive(true); return(wwObject); }
/// <summary> /// Handles the aspects of WWObject Instantiation that rely on the resource metadata. /// </summary> /// <param name="gameObject">The base GameObject which contains only resource, location, and rotation data</param> /// <param name="metadata">The metadata which will be used to construct the WWObject</param> /// <returns></returns> public static WWObject ConstructWWObject(GameObject gameObject, WWResourceMetadata metadata) { // Make the GameObject into a Tile, Prop, etc. Type type = WWTypeHelper.ConvertToSysType(metadata.wwObjectMetadata.type); var wwObject = gameObject.AddComponent(type) as WWObject; // Scale the object to the current tile scale. wwObject.transform.localScale = Vector3.one * CoordinateHelper.tileLengthScale; // remove the WWResourceMetadata component for a microptimization #if UNITY_EDITOR Object.DestroyImmediate(wwObject.GetComponent <WWResourceMetadata>()); #else GameObject.Destroy(wwObject.GetComponent <WWResourceMetadata>()); #endif wwObject.gameObject.SetActive(true); return(wwObject); }