//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ using Articy.Touhou; using Articy.Touhou.Features; using Articy.Unity; using Articy.Unity.Interfaces; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Articy.Touhou.Templates { [Serializable()] public class MonsterTemplate : IArticyBaseObject, IPropertyProvider { [SerializeField()] private ArticyValueEntityParamMonsterFeature mEntityParamMonster = new ArticyValueEntityParamMonsterFeature(); [SerializeField()] private ArticyValueEntityParamViewFeature mEntityParamView = new ArticyValueEntityParamViewFeature(); [SerializeField()] private ArticyValueEntityParamBattleFeature mEntityParamBattle = new ArticyValueEntityParamBattleFeature(); [SerializeField()] private ArticyValueEntityParamFeature mEntityParam = new ArticyValueEntityParamFeature(); [SerializeField()] private UInt64 mOwnerId; [SerializeField()] private UInt32 mOwnerInstanceId; public Articy.Touhou.Features.EntityParamMonsterFeature EntityParamMonster { get { return mEntityParamMonster.GetValue(); } set { mEntityParamMonster.SetValue(value); } } public Articy.Touhou.Features.EntityParamViewFeature EntityParamView { get { return mEntityParamView.GetValue(); } set { mEntityParamView.SetValue(value); } } public Articy.Touhou.Features.EntityParamBattleFeature EntityParamBattle { get { return mEntityParamBattle.GetValue(); } set { mEntityParamBattle.SetValue(value); } } public Articy.Touhou.Features.EntityParamFeature EntityParam { get { return mEntityParam.GetValue(); } set { mEntityParam.SetValue(value); } } public UInt64 OwnerId { get { return mOwnerId; } set { mOwnerId = value; EntityParamMonster.OwnerId = value; EntityParamView.OwnerId = value; EntityParamBattle.OwnerId = value; EntityParam.OwnerId = value; } } public UInt32 OwnerInstanceId { get { return mOwnerInstanceId; } set { mOwnerInstanceId = value; EntityParamMonster.OwnerInstanceId = value; EntityParamView.OwnerInstanceId = value; EntityParamBattle.OwnerInstanceId = value; EntityParam.OwnerInstanceId = value; } } private void CloneProperties(object aClone, Articy.Unity.ArticyObject aFirstClassParent) { Articy.Touhou.Templates.MonsterTemplate newClone = ((Articy.Touhou.Templates.MonsterTemplate)(aClone)); if ((EntityParamMonster != null)) { newClone.EntityParamMonster = ((Articy.Touhou.Features.EntityParamMonsterFeature)(EntityParamMonster.CloneObject(newClone, aFirstClassParent))); } if ((EntityParamView != null)) { newClone.EntityParamView = ((Articy.Touhou.Features.EntityParamViewFeature)(EntityParamView.CloneObject(newClone, aFirstClassParent))); } if ((EntityParamBattle != null)) { newClone.EntityParamBattle = ((Articy.Touhou.Features.EntityParamBattleFeature)(EntityParamBattle.CloneObject(newClone, aFirstClassParent))); } if ((EntityParam != null)) { newClone.EntityParam = ((Articy.Touhou.Features.EntityParamFeature)(EntityParam.CloneObject(newClone, aFirstClassParent))); } newClone.OwnerId = OwnerId; } public object CloneObject(object aParent, Articy.Unity.ArticyObject aFirstClassParent) { Articy.Touhou.Templates.MonsterTemplate clone = new Articy.Touhou.Templates.MonsterTemplate(); CloneProperties(clone, aFirstClassParent); return clone; } public virtual bool IsLocalizedPropertyOverwritten(string aProperty) { return false; } #region property provider interface public void setProp(string aProperty, object aValue) { int featureIndex = aProperty.IndexOf('.'); if ((featureIndex != -1)) { string featurePath = aProperty.Substring(0, featureIndex); string featureProperty = aProperty.Substring((featureIndex + 1)); if ((featurePath == "EntityParamMonster")) { EntityParamMonster.setProp(featureProperty, aValue); } if ((featurePath == "EntityParamView")) { EntityParamView.setProp(featureProperty, aValue); } if ((featurePath == "EntityParamBattle")) { EntityParamBattle.setProp(featureProperty, aValue); } if ((featurePath == "EntityParam")) { EntityParam.setProp(featureProperty, aValue); } } } public Articy.Unity.Interfaces.ScriptDataProxy getProp(string aProperty) { int featureIndex = aProperty.IndexOf('.'); if ((featureIndex != -1)) { string featurePath = aProperty.Substring(0, featureIndex); string featureProperty = aProperty.Substring((featureIndex + 1)); if ((featurePath == "EntityParamMonster")) { return EntityParamMonster.getProp(featureProperty); } if ((featurePath == "EntityParamView")) { return EntityParamView.getProp(featureProperty); } if ((featurePath == "EntityParamBattle")) { return EntityParamBattle.getProp(featureProperty); } if ((featurePath == "EntityParam")) { return EntityParam.getProp(featureProperty); } } return null; } #endregion } }