mmorpg2d/Assets/Script/characterManager.cs
2025-03-15 13:34:03 +05:30

124 lines
3.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Assets.HeroEditor4D.Common.Scripts.CharacterScripts;
using Assets.HeroEditor4D.Common.Scripts.Common;
using Assets.HeroEditor4D.Common.Scripts.Data;
using Assets.HeroEditor4D.Common.Scripts.Enums;
using Assets.HeroEditor4D.InventorySystem.Scripts.Elements;
using Unity.VisualScripting;
using UnityEngine;
public class characterManager : MonoBehaviour
{
public Character4D character;
public AnimationManager anim;
public Character front, back, left, right;
float xMove , yMove;
void Start(){
// if(CharacterCusomizationBridge.instance!=null && CharacterCusomizationBridge.characterJson!=null){
// GetComponent<Character4D>().FromJson(CharacterCusomizationBridge.characterJson, false);
// }
}
public int armorId = 0;
public int helmetId = 0;
public int wandId = 0;
public int swordId = 0;
void Update(){
if(Input.GetKeyDown(KeyCode.M)){
// ChangeWeapon();
EquipBow();
}
if(Input.GetKeyDown(KeyCode.N)){
EquipArmor(armorId);
}
if(Input.GetKeyDown(KeyCode.B)){
EquipHelmet(helmetId);
}
if(Input.GetKeyDown(KeyCode.V)){
EquipSword(swordId);
}
if(Input.GetKeyDown(KeyCode.C)){
EquipWand(wandId);
}
}
int weaponIndex = 52;
public int bowIndex =0;
public void EquipBow(){
// bowIndex++;
// if(bowIndex >= character.SpriteCollection.Bow.Count){
// bowIndex=0;
// }
// Debug.Log("Equipping bow index " + bowIndex + " out of " + character.SpriteCollection.Bow.Count);
var item = character.SpriteCollection.Bow[bowIndex];
EquipForAll(item, EquipmentPart.Bow);
}
public void EquipBow(int weaponId ){
var item = character.SpriteCollection.Bow[weaponId];
EquipForAll(item, EquipmentPart.Bow);
}
public void EquipArmor(int weaponId ){
var item = character.SpriteCollection.Armor[weaponId];
EquipForAll(item, EquipmentPart.Armor);
}
public void EquipHelmet(int weaponId){
var item = character.SpriteCollection.Armor[weaponId];
EquipForAll(item, EquipmentPart.Helmet);
}
public void EquipSword(int weaponId){
var item = character.SpriteCollection.MeleeWeapon1H[weaponId];
EquipForAll(item, EquipmentPart.MeleeWeapon1H);
}
public void EquipWand(int weaponId){
var item = character.SpriteCollection.MeleeWeapon1H[weaponId];
EquipForAll(item, EquipmentPart.MeleeWeapon1H);
}
void ChangeWeapon(){
// if(weaponIndex < character.SpriteCollection.MeleeWeapon1H.Count){
// weaponIndex++;
// }else{
// weaponIndex = 0;
// }
// Debug.Log(weaponIndex);
var item = character.SpriteCollection.MeleeWeapon1H[weaponIndex];
// var sprite = character.SpriteCollection.MeleeWeapon1H.FindSprite("FireMageWand");
EquipForAll(item,EquipmentPart.MeleeWeapon1H);
}
void EquipForAll(ItemSprite item, EquipmentPart type){
front.Equip(item, type);
back.Equip(item, type);
left.Equip(item, type);
right.Equip(item, type);
}
public void SetActiveWeapon(int i){
weaponIndex = i;
ChangeWeapon();
}
}