예제 #1
0
        public void CreateProjectile(string name, ProjectileDef def)
        {
            var projectile = EntityFactory.CreateProjectile(name, def, this);

            this.world.AddEntity(projectile);
            this.m_projs.Add(projectile);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
 public Projectile(ProjectileDef def, ProjectileConfig config, Character owner) : base(config, owner)
 {
     this.projDef = def;
     Init();
 }