public void CreateProjectile(string name, ProjectileDef def) { var projectile = EntityFactory.CreateProjectile(name, def, this); this.world.AddEntity(projectile); this.m_projs.Add(projectile); }
public static Projectile CreateProjectile(string name, ProjectileDef def, Character owner) { ProjectileConfig config = ConfigReader.Parse <ProjectileConfig>(FileReader.Read("Projectiles/" + name + "/" + name + ".def")); ActionsConfig actionsConfig = ConfigReader.Parse <ActionsConfig>(FileReader.Read(config.action)); config.SetActions(actionsConfig.actions.ToArray()); Projectile pro = new Projectile(def, config, owner); return(pro); }
public static int CreateProjectile(ILuaState lua) { lua.L_CheckType(1, LuaType.LUA_TLIGHTUSERDATA); Unit u = (Unit)lua.ToUserData(1); if (u is Character) { var c = u as Character; var projectileName = lua.L_CheckString(2); ProjectileDef def = new ProjectileDef(); using (var t = new LuaTable(lua)) { def.offset = t.GetNumberArray("offset", 2); def.posType = t.GetString("posType"); def.projPriority = t.GetInt("projPriority"); def.projEdgeBound = t.GetNumber("projEdgeBound", 0); def.projStageBound = t.GetNumber("projStageBound", 0); def.facing = t.GetInt("facing", 1); def.vel = t.GetNumberArray("vel", 2); def.id = t.GetInt("id"); } c.CreateProjectile(projectileName, def); } return(0); }
public Projectile(ProjectileDef def, ProjectileConfig config, Character owner) : base(config, owner) { this.projDef = def; Init(); }