public void CreateDemon(Vector3 position, DemonTypes demonType) { GameObject demon = Instantiate(demonPrefab, position, demonPrefab.transform.rotation); demon.transform.parent = transform; Debug.Log("NIQUE TA MERE"); DemonStats demonStats = basicDemonStats; switch (demonType) { case DemonTypes.BASIC_DEMON: demonStats = basicDemonStats; break; case DemonTypes.HIGH_DEMON: demonStats = highDemonStats; break; case DemonTypes.RUSHING_DEMON: demonStats = rushingDemonStats; break; } demon.GetComponent <DemonBehavior>().SetDemonStats(demonStats); }
//todo copy pasted from solution weaver public WeavedInMemoryModule() { using (ModuleDefinition module = ModuleDefinition.ReadModule(TestDataFilename), moduleDependency = ModuleDefinition.ReadModule(TestDataDependencyFilename), demon = ModuleDefinition.ReadModule(DemonFilename)) { var types = module.Types.Concat(moduleDependency.Types).ToList(); var advice = AspectModelBuilder.FromTypeDefinitions(types); var demonTypes = DemonTypes.FromModule(demon); foreach (var type in types) { TypeWeaver.Weave(type, advice, demonTypes); } using (MemoryStream stream = new MemoryStream(), dependencyStream = new MemoryStream()) { module.Write(stream); moduleDependency.Write(dependencyStream); Assembly = Assembly.Load(stream.ToArray()); AssemblyDependency = Assembly.Load(dependencyStream.ToArray()); } } }
//Demon is intialized to set its properties public override void InitializeDemon(DemonTypes type, float speed, GameObject threat, float minKillStrength) { Type = type; attackSpeed = speed; Threat = threat; MinKillStrength = minKillStrength; PlayerCanKill killType = Type.CastAnyToAny <PlayerCanKill, DemonTypes>(PlayerCanKill.NULL); if (killType != PlayerCanKill.NULL) { onKillReward = (float)killType; } }
public abstract void InitializeDemon(DemonTypes type, float attackSpeed, GameObject threats, float minimumkillStrength);