public void InitWithoutTextureBaking() { { m_unit = DevEngine.Instance.GetPackage_Unit(Info.unit_part, Info.unit_index); m_main_weapon = DevEngine.Instance.GetPackage_Weapon(Info.main_weapon_part, Info.main_weapon_index); m_sub_weapon = DevEngine.Instance.GetPackage_Weapon(Info.sub_weapon_part, Info.sub_weapon_index); m_wing = DevEngine.Instance.GetPackage_Wing(Info.wing_part, Info.wing_index); m_unit_pak = DevEngine.Instance.GetPackage(Info.unit_part); m_main_weapon_pak = DevEngine.Instance.GetPackage(Info.main_weapon_part); m_sub_weapon_pak = DevEngine.Instance.GetPackage(Info.sub_weapon_part); } DevPart part_unit = DevEngine.Instance.GetPackage(Info.unit_part); DevPart part_armor = DevEngine.Instance.GetPackage(Info.armor_part); DevPart part_main = DevEngine.Instance.GetPackage(Info.main_weapon_part); DevPart part_sub = DevEngine.Instance.GetPackage(Info.sub_weapon_part); DevPart part_wing = DevEngine.Instance.GetPackage(Info.wing_part); PackageData_Unit pak_unit = part_unit != null ? part_unit.GetUnit(Info.unit_index) : null; PackageData_Armor pak_armor = part_armor != null ? part_armor.GetArmor(Info.armor_index, Info.armor_color) : null; PackageData_Weapon pak_main = part_main != null ? part_main.GetWeapon(Info.main_weapon_index) : null; PackageData_Weapon pak_sub = part_sub != null ? part_sub.GetWeapon(Info.sub_weapon_index) : null; PackageData_Wing pak_wing = part_wing != null ? part_wing.GetWing(Info.wing_index) : null; foreach (SpriteRenderer r in transform.GetComponentsInChildren<SpriteRenderer>(true)) { if (r.name == "head") { if (pak_armor != null) { switch (pak_armor.option) { case SHOW_OPTION.HIDE_FACE: r.sprite = null; break; case SHOW_OPTION.SHOW_HAIR: r.sprite = pak_unit != null ? pak_unit.sprite_face_normal : null; break; case SHOW_OPTION.NONE: default: r.sprite = pak_unit != null ? pak_unit.sprite_face_equiped : null; break; } } else { r.sprite = pak_unit != null ? pak_unit.sprite_face_normal : null; } } else if (r.name == "eye_normal") { if (pak_armor != null && pak_armor.option == SHOW_OPTION.HIDE_FACE) { r.sprite = null; } else if (part_unit != null) { PackageData_Unit temp_pak = pak_unit; if (temp_pak == null || temp_pak.sprite_eye_normal == null) temp_pak = part_unit.GetUnit(0); r.sprite = temp_pak != null ? temp_pak.sprite_eye_normal : null; } else { r.sprite = null; } r.color = pak_unit != null ? pak_unit.eye_color : Color.white; } else if (r.name == "eye_damage") { if (pak_armor != null && pak_armor.option == SHOW_OPTION.HIDE_FACE) { r.sprite = null; } else if (part_unit != null) { PackageData_Unit temp_pak = pak_unit; if (temp_pak == null || temp_pak.sprite_eye_damage == null) temp_pak = part_unit.GetUnit(0); r.sprite = temp_pak != null ? temp_pak.sprite_eye_damage : null; } else { r.sprite = null; } r.color = pak_unit != null ? pak_unit.eye_color : Color.white; } else if (r.name == "arm-back") { // color if (pak_armor != null) { r.color = pak_armor.arm_color; } else { r.color = pak_unit != null ? pak_unit.arm_color : Color.white; } // sprite if (pak_armor != null) { PackageData_Armor temp_pak = pak_armor; if (temp_pak == null || temp_pak.sprite_arm_main == null) temp_pak = part_armor.GetArmor(0, Info.armor_color); if (temp_pak == null || temp_pak.sprite_arm_main == null) temp_pak = part_armor.GetArmor(0, 0); r.sprite = temp_pak != null ? temp_pak.sprite_arm_main : null; } else if (part_unit != null) { PackageData_Unit temp_pak = pak_unit; if (temp_pak == null || temp_pak.sprite_arm_main == null) temp_pak = part_unit.GetUnit(0); r.sprite = temp_pak != null ? temp_pak.sprite_arm_main : null; } else { r.sprite = null; } } else if (r.name == "arm-front") { // color if (pak_armor != null) { r.color = pak_armor.arm_color; } else { r.color = pak_unit != null ? pak_unit.arm_color : Color.white; } // sprite if (pak_armor != null) { PackageData_Armor temp_pak = pak_armor; if (temp_pak == null || temp_pak.sprite_arm_sub == null) temp_pak = part_armor.GetArmor(0, Info.armor_color); if (temp_pak == null || temp_pak.sprite_arm_sub == null) temp_pak = part_armor.GetArmor(0, 0); r.sprite = temp_pak != null ? temp_pak.sprite_arm_sub : null; } else if (part_unit != null) { PackageData_Unit temp_pak = pak_unit; if (temp_pak == null || temp_pak.sprite_arm_sub == null) temp_pak = part_unit.GetUnit(0); r.sprite = temp_pak != null ? temp_pak.sprite_arm_sub : null; } else { r.sprite = null; } } else if (r.name == "body") { if (part_armor != null) { PackageData_Armor temp_pak = pak_armor; if (temp_pak == null || temp_pak.sprite_body == null) temp_pak = part_armor.GetArmor(0, Info.armor_color); if (temp_pak == null || temp_pak.sprite_body == null) temp_pak = part_armor.GetArmor(0, 0); r.sprite = temp_pak != null ? temp_pak.sprite_body : null; } else if (part_unit != null) { PackageData_Unit temp_pak = pak_unit; if (temp_pak == null || temp_pak.sprite_body == null) temp_pak = part_unit.GetUnit(0); r.sprite = temp_pak != null ? temp_pak.sprite_body : null; } else { r.sprite = null; } } else if (r.name == "glove_back") { // color if (pak_armor != null) { r.color = pak_armor.glove_color; } else { r.color = pak_unit != null ? pak_unit.glove_color : Color.white; } // sprite if (pak_armor != null) { PackageData_Armor temp_pak = pak_armor; if (temp_pak == null || temp_pak.sprite_glove_main == null) temp_pak = part_armor.GetArmor(0, Info.armor_color); if (temp_pak == null || temp_pak.sprite_glove_main == null) temp_pak = part_armor.GetArmor(0, 0); r.sprite = temp_pak != null ? temp_pak.sprite_glove_main : null; } else if (part_unit != null) { PackageData_Unit temp_pak = pak_unit; if (temp_pak == null || temp_pak.sprite_glove_main == null) temp_pak = part_unit.GetUnit(0); r.sprite = temp_pak != null ? temp_pak.sprite_glove_main : null; } else { r.sprite = null; } } else if (r.name == "glove_front") { // color if (pak_armor != null) { r.color = pak_armor.glove_color; } else { r.color = pak_unit != null ? pak_unit.glove_color : Color.white; } // sprite if (pak_armor != null) { PackageData_Armor temp_pak = pak_armor; if (temp_pak == null || temp_pak.sprite_glove_sub == null) temp_pak = part_armor.GetArmor(0, Info.armor_color); if (temp_pak == null || temp_pak.sprite_glove_sub == null) temp_pak = part_armor.GetArmor(0, 0); r.sprite = temp_pak != null ? temp_pak.sprite_glove_sub : null; } else if (part_unit != null) { PackageData_Unit temp_pak = pak_unit; if (temp_pak == null || temp_pak.sprite_glove_sub == null) temp_pak = part_unit.GetUnit(0); r.sprite = temp_pak != null ? temp_pak.sprite_glove_sub : null; } else { r.sprite = null; } } else if (r.name == "leg_0") { if (part_armor != null) { PackageData_Armor temp_pak = pak_armor; if (temp_pak == null || temp_pak.sprite_leg0 == null) temp_pak = part_armor.GetArmor(0, Info.armor_color); if (temp_pak == null || temp_pak.sprite_leg0 == null) temp_pak = part_armor.GetArmor(0, 0); r.sprite = temp_pak != null ? temp_pak.sprite_leg0 : null; } else { PackageData_Unit temp_pak = pak_unit; if (temp_pak == null || temp_pak.sprite_leg0 == null) temp_pak = part_unit != null ? part_unit.GetUnit(0) : null; r.sprite = temp_pak != null ? temp_pak.sprite_leg0 : null; } } else if (r.name == "leg_1") { if (part_armor != null) { PackageData_Armor temp_pak = pak_armor; if (temp_pak == null || temp_pak.sprite_leg1 == null) temp_pak = part_armor.GetArmor(0, Info.armor_color); if (temp_pak == null || temp_pak.sprite_leg1 == null) temp_pak = part_armor.GetArmor(0, 0); r.sprite = temp_pak != null ? temp_pak.sprite_leg1 : null; } else { PackageData_Unit temp_pak = pak_unit; if (temp_pak == null || temp_pak.sprite_leg1 == null) temp_pak = part_unit != null ? part_unit.GetUnit(0) : null; r.sprite = temp_pak != null ? temp_pak.sprite_leg1 : null; } } else if (r.name == "helm") { r.sprite = pak_armor != null ? pak_armor.sprite_helm : null; } else if (r.name == "neck") { r.color = pak_armor != null ? pak_armor.arm_color : Color.white; if (part_armor != null) { PackageData_Armor temp_pak = pak_armor; if (temp_pak == null || temp_pak.sprite_neck == null) temp_pak = part_armor.GetArmor(0, Info.armor_color); if (temp_pak == null || temp_pak.sprite_neck == null) temp_pak = part_armor.GetArmor(0, 0); r.sprite = temp_pak != null ? temp_pak.sprite_neck : null; } else { r.sprite = null; } } else if (r.sprite != null && r.sprite.name == "weapon_back") { _set_sprite(r, pak_main != null ? pak_main.sprite_weapon : null); } else if (r.sprite != null && r.sprite.name == "weapon_front") { _set_sprite(r, pak_sub != null ? pak_sub.sprite_weapon : null); } else if (r.sprite != null && r.sprite.name == "bow_0") { if (pak_main == null) { r.enabled = false; } else { Texture2D temp_texture = pak_main.sprite_weapon.texture; Sprite new_sprite = Sprite.Create(temp_texture, new Rect(0.5f * temp_texture.width, 0, 0.5f * temp_texture.width, temp_texture.height), new Vector3(0.5f, 0.5f), r.sprite.pixelsPerUnit); r.enabled = true; r.sprite = new_sprite; r.sharedMaterial.mainTexture = pak_main.sprite_weapon.texture; r.sprite.name = "bow_0"; } } else if (r.sprite != null && r.sprite.name == "bow_1") { if (pak_main == null) { r.enabled = false; } else { Texture2D temp_texture = pak_main.sprite_weapon.texture; Sprite new_sprite = Sprite.Create(temp_texture, new Rect(0, 0, 0.5f * temp_texture.width, temp_texture.height), new Vector3(0.5f, 0.5f), r.sprite.pixelsPerUnit); r.enabled = true; r.sprite = new_sprite; r.sharedMaterial.mainTexture = pak_main.sprite_weapon.texture; r.sprite.name = "bow_1"; } } else if (r.name == "cape") { r.sprite = pak_wing != null ? pak_wing.sprite_wing : null; } } _fix_sprite_property(); SetOrder(Info.order); }
public void UpdateView(Texture2D _texture) { InitMaterial(); m_unit = DevEngine.Instance.GetPackage_Unit(Info.unit_part, Info.unit_index); m_main_weapon = DevEngine.Instance.GetPackage_Weapon(Info.main_weapon_part, Info.main_weapon_index); m_sub_weapon = DevEngine.Instance.GetPackage_Weapon(Info.sub_weapon_part, Info.sub_weapon_index); m_wing = DevEngine.Instance.GetPackage_Wing(Info.wing_part, Info.wing_index); m_unit_pak = DevEngine.Instance.GetPackage(Info.unit_part); m_main_weapon_pak = DevEngine.Instance.GetPackage(Info.main_weapon_part); m_sub_weapon_pak = DevEngine.Instance.GetPackage(Info.sub_weapon_part); _fix_sprite_property(); this.SetMaterialTexture(_texture); }