|  |  |  | //------------------------------------------------------------------------------ | 
					
						
							|  |  |  | // <auto-generated> | 
					
						
							|  |  |  | //     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. | 
					
						
							|  |  |  | // </auto-generated> | 
					
						
							|  |  |  | //------------------------------------------------------------------------------ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |