Files
ichni_Official/Assets/Scripts/Game/GameElements/Notes/NoteVisual/NoteVisualBase.cs
SoulliesOfficial d4e860fa16 initial
2025-06-03 02:42:28 -04:00

86 lines
2.5 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Ichni.RhythmGame
{
public abstract class NoteVisualBase : SubstantialObject, IHaveEffectSubmodule, IHaveSelectSubmodule
{
public NoteBase note;
public bool isHighlighted;
public GameObject noteMain;
public GameObject judgeEffect;
public List<GameObject> notePartList;
public List<GameObject> effectPartList;
public EffectSubmodule effectSubmodule { get; set; }
public SelectSubmodule selectSubmodule { get; set; }
public new static NoteVisualBase GenerateElement(string elementName, Guid id, List<string> tags,
bool isFirstGenerated, string themeBundleName, string objectName, GameElement parentElement, bool isHighlighted)
{
NoteVisualBase noteVisual = SubstantialObject.GenerateElement(elementName, id, tags,
isFirstGenerated, themeBundleName, objectName, parentElement).GetComponent<NoteVisualBase>();
noteVisual.isHighlighted = isHighlighted;
noteVisual.SetHighlight();
return noteVisual;
}
public override void SetDefaultSubmodules()
{
base.SetDefaultSubmodules();
effectSubmodule = new EffectSubmodule(this, EffectSubmodule.EffectSubmodulePreset.Note);
}
public override void SetEditorSubmodules()
{
selectSubmodule = new SelectSubmodule(this, note);
}
public virtual void Recover()
{
}
public virtual void SetHighlight()
{
}
}
namespace Beatmap
{
public abstract class NoteVisualBase_BM : SubstantialObject_BM
{
public bool isHighlighted;
public NoteVisualBase_BM()
{
}
public NoteVisualBase_BM(string elementName, Guid id, List<string> tags,
GameElement_BM parent, string themeBundleName, string objectName, bool isHighlighted) :
base(elementName, id, tags, parent, themeBundleName, objectName)
{
this.isHighlighted = isHighlighted;
}
public override void ExecuteBM()
{
throw new NotImplementedException();
}
public override GameElement DuplicateBM(GameElement parent)
{
throw new NotImplementedException();
}
}
}
}