package service

import (
	"blazing/logic/service/fight/info"
	"blazing/modules/blazing/model"
	"fmt"
)

type AI_player struct {
	FightC  *FightC         //绑定战斗标识 替代本身的是否战斗标记  //IsFighting bool
	petinfo []model.PetInfo //精灵信息

}

func NewAI_player(m model.PetInfo) *AI_player {
	ret := &AI_player{}
	ret.petinfo = make([]model.PetInfo, 0)
	ret.petinfo = append(ret.petinfo, m)
	return ret

}
func (f *AI_player) SetFightC(ff *FightC) {
	f.FightC = ff
}

func (f *AI_player) ID() uint32 {
	return 0
}

func (f *AI_player) MapID() uint32 {
	panic("not implemented") // TODO: Implement
}

// func (f *AI_player) GetInfo() model.PlayerInfo {
// 	return f.FightC.Opp.

// }

func (f *AI_player) SendPack(b []byte) error {
	panic("not implemented") // TODO: Implement
}

func (f *AI_player) SendReadyToFightInfo(gg info.FightStartOutboundInfo) {

	fmt.Println(gg)
	//	f.FightC.UseSkill(f, f.fightinfo.OpponentPetList[0].SkillList[0].ID) //使用1#技能,实际上要按照四个技能权重去使用
	//这时候给个出招
}

func (f *AI_player) SendNoteReadyToFightInfo(fs info.NoteReadyToFightInfo) {
	fmt.Println(fs)
}

func (f *AI_player) SendFightEndInfo(_ info.FightOverInfo) {
	//fmt.Println("战斗结束")

}
func (f *AI_player) GetAction() {
	f.FightC.UseSkill(f, int32(f.FightC.Opp.CurrentPet.Skills[0].ID)) //使用1#技能,实际上要按照四个技能权重去使用
}
func (p *AI_player) End() {
	p.FightC = nil

	return
}

func (p *AI_player) GetPetInfo() []model.PetInfo {

	return p.petinfo
}
func (p *AI_player) SendAttackValue(info.AttackValueS) {

}
func (p *AI_player) SendChangePet(info.ChangePetInfo) {

}
