67 lines
2.4 KiB
C#
67 lines
2.4 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Ichni.RhythmGame.Beatmap;
|
|
using Lean.Pool;
|
|
using UnityEngine;
|
|
|
|
namespace Ichni.RhythmGame
|
|
{
|
|
public partial class EnvironmentObject : SubstantialObject
|
|
{
|
|
public bool isStatic;
|
|
|
|
public static SubstantialObject GenerateElement(string elementName, Guid id, List<string> tags,
|
|
bool isFirstGenerated, GameElement parent, string themeBundleName, string objectName, bool isStatic)
|
|
{
|
|
EnvironmentObject themeBundleObject =
|
|
ThemeBundleManager.instance.GetObject<EnvironmentObject>(themeBundleName, objectName);
|
|
EnvironmentObject environmentObject =
|
|
Instantiate(themeBundleObject, parent.transform).GetComponent<EnvironmentObject>();
|
|
environmentObject.Initialize(elementName, id, tags, isFirstGenerated);
|
|
environmentObject.isStatic = isStatic;
|
|
return environmentObject;
|
|
}
|
|
}
|
|
|
|
public partial class EnvironmentObject
|
|
{
|
|
public override void SaveBM()
|
|
{
|
|
matchedBM = new EnvironmentObject_BM(elementName, elementGuid, tags,
|
|
parentElement.matchedBM as GameElement_BM, themeBundleName, objectName, isStatic);
|
|
}
|
|
}
|
|
|
|
namespace Beatmap
|
|
{
|
|
public class EnvironmentObject_BM : SubstantialObject_BM
|
|
{
|
|
public bool isStatic;
|
|
|
|
public EnvironmentObject_BM()
|
|
{
|
|
|
|
}
|
|
|
|
public EnvironmentObject_BM(string elementName, Guid elementGuid, List<string> tags,
|
|
GameElement_BM attachedElement, string themeBundleName, string objectName, bool isStatic)
|
|
: base(elementName, elementGuid, tags, attachedElement, themeBundleName, objectName)
|
|
{
|
|
this.isStatic = isStatic;
|
|
}
|
|
|
|
public override void ExecuteBM()
|
|
{
|
|
matchedElement = EnvironmentObject.GenerateElement(elementName, elementGuid, tags, false,
|
|
GetElement(attachedElementGuid), themeBundleName, objectName, isStatic);
|
|
}
|
|
|
|
public override GameElement DuplicateBM(GameElement parent)
|
|
{
|
|
return EnvironmentObject.GenerateElement(elementName, elementGuid, tags, false,
|
|
parent, themeBundleName, objectName, isStatic);
|
|
}
|
|
}
|
|
}
|
|
} |