Exemple #1
0
        public CHandle CreateHandle(CVector in_vector, string type, string handle, string varname = "")
        {
            var var = CreateHandle(type, handle, varname);

            in_vector.AddVariable(var);
            return(var);
        }
Exemple #2
0
        public CVariable CreateVariable(CVector in_vector, string type, string varname = "")
        {
            var variable = CreateVariable(type, varname);

            in_vector.AddVariable(variable);
            return(variable);
        }
Exemple #3
0
    virtual public void update()
    {
        mTimeState = mTimeState + Time.deltaTime;

        mVel = mVel + mAccel * Time.deltaTime;
        mPos = mPos + mVel * Time.deltaTime;
    }
Exemple #4
0
    // Calculates the distance squared from this vector to another given vector.
    // Returns: The distance squared from this vector to the vector passed as a parameter.
    public float distSquared(CVector aVector)
    {
        float dx = aVector.x - x;
        float dy = aVector.y - y;

        return(dx * dx + dy * dy);
    }
Exemple #5
0
    public void update()
    {
        CVector cameraPos = CCamera.inst().getPos();

        leftLimit   = (int)(cameraPos.x - HORIZONTAL_TILE_PRELOAD / 2 * getTileWidth()) / getTileWidth();
        rightLimit  = (int)(cameraPos.x + HORIZONTAL_TILE_PRELOAD / 2 * getTileWidth()) / getTileWidth();
        topLimit    = (int)(cameraPos.y - VERTICAL_TILE_PRELOAD / 2 * getTileHeight()) / getTileHeight();
        bottomLimit = (int)(cameraPos.y + VERTICAL_TILE_PRELOAD / 2 * getTileHeight()) / getTileHeight();

        leftLimit   = leftLimit < 0 ? 0 : leftLimit;
        rightLimit  = rightLimit > getMapWidth() ? getMapWidth() : rightLimit;
        topLimit    = topLimit < 0 ? 0 : topLimit;
        bottomLimit = bottomLimit > getMapHeight() ? getMapHeight() : bottomLimit;

        for (int y = topLimit; y < bottomLimit; y++)
        {
            for (int x = leftLimit; x < rightLimit; x++)
            {
                if (!mMap[y][x].isVisible())
                {
                    mMap[y][x].setVisible(true);
                }
                mMap [y] [x].update();
            }
        }
    }
    override public void update()
    {
        mTimeNextShot += Time.deltaTime;

        base.update();

        CPlayer player = CGame.inst().getPlayer();

        CVector vel = player.getPos() - getPos();

        vel.normalize();
        vel.mul(SPEED);
        setVel(vel);

        if (isEnded())
        {
            setDead(true);
        }

        if (mTimeNextShot >= 1.0f)
        {
            mTimeNextShot = 0;
            player        = CGame.inst().getPlayer();

            CVector v = player.getPos() - getPos();
            v.normalize();
            v.mul(BULLET_SPEED);

            CEnemyBullet b = new CEnemyBullet();
            b.setXY(getX(), getY());
            b.setVel(v);
            CEnemyManager.inst().add(b);
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (mAndy == null)
        {
            distanceToMove = 5;
        }
        else
        {
            distanceToMove = mAndy.getX() - lastPlayerPosition.x;
        }

        //distanceToMove = thePlayer.getX() - lastPlayerPosition.x;

        transform.position = new Vector3(transform.position.x + distanceToMove, transform.position.y, transform.position.z);

        if (mAndy == null)
        {
            lastPlayerPosition = new CVector(0, 0, 0);
        }
        else
        {
            lastPlayerPosition = mAndy.getPos();
        }

        //lastPlayerPosition = thePlayer.getPos();
    }
Exemple #8
0
        public CPtr CreatePtr(CVector in_vector, string type, CR2WChunk to_chunk, string varname = "")
        {
            var ptr = CreatePtr(type, to_chunk, varname);

            in_vector.AddVariable(ptr);
            return(ptr);
        }
Exemple #9
0
        public CPtr CreatePtr(CVector in_vector, string type, CR2WExportWrapper to_chunk, string varname = "")
        {
            var var = CreatePtr(type, to_chunk, varname);

            in_vector.AddVariable(var);
            return(var);
        }
        void ReadVariable(CVector parent)
        {
            ReadByte();
            while (true)
            {
                var nameId = ReadUInt16();
                if (nameId == 0)
                {
                    break;
                }
                var typeId = ReadUInt16();
                var size   = ReadUInt32() - 4;

                var end = BaseStream.Position + size;

                var index = Vectors.Count;
                parent.children.Add(index);
                var child = new CVector()
                {
                    index = index,
                    name  = names[nameId].Value,
                    type  = names[typeId].Value,
                    size  = size,
                };
                Vectors.Add(child);
                ParseVariale(child);

                var unknsize = end - BaseStream.Position;
                if (unknsize != 0)
                {
                    child.unknown = ReadBytes(Convert.ToInt32(unknsize));
                }
            }
        }
Exemple #11
0
        public CSoft CreateSoft(CVector in_vector, string type, string handle, string varname = "")
        {
            var soft = CreateSoft(type, handle, varname);

            in_vector.AddVariable(soft);
            return(soft);
        }
Exemple #12
0
        private string getScript()
        {
            string ret          = "";
            CName  functionName = (CName)Chunk.GetVariableByName("functionName");

            ret += functionName + "(";
            CArray parameters = (CArray)Chunk.GetVariableByName("parameters");

            CVector last = (CVector)parameters.Last();

            foreach (CVector parameter in parameters)
            {
                CName    name    = (CName)parameter.GetVariableByType("CName");
                CVariant variant = (CVariant)parameter.GetVariableByType("CVariant");
                ret += name + ":" + variant;
                if (parameter != last)
                {
                    ret += ", ";
                }
            }

            ret += ")";

            return(ret);
        }
Exemple #13
0
        public CVector CreateVector(string type, string varname = "")
        {
            var cvector = new CVector(this);

            cvector.Type = type;
            cvector.Name = varname;
            return(cvector);
        }
Exemple #14
0
        public CVector CreateVector(string type, string varname = "")
        {
            var var = new CVector(this);

            var.Type = type;
            var.Name = varname;
            return(var);
        }
Exemple #15
0
 virtual public void destroy()
 {
     mPos.destroy();
     mPos = null;
     mVel.destroy();
     mVel = null;
     mAccel.destroy();
     mAccel = null;
 }
Exemple #16
0
        public void Load(string filename)
        {
            using (StreamReader r = new StreamReader(filename))
            {
                string        json     = r.ReadToEnd();
                ReadCSkeleton skeleton = JsonConvert.DeserializeObject <ReadCSkeleton>(json);
                byte[]        data;
                //data = File.ReadAllBytes(@"D:\w3.modding\animation\template.w2rig");
                data = new byte[] { 0x43, 0x52, 0x32, 0x57, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x03, 0x7E, 0x27, 0xDF, 0xE1, 0x03, 0x48, 0xC9, 0x12, 0x00, 0xF3, 0x07, 0x00, 0x00, 0xF3, 0x07, 0x00, 0x00, 0xAF, 0xE7, 0x43, 0x5A, 0x06, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x9B, 0x95, 0xBE, 0x25, 0x98, 0x04, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x53, 0x1D, 0xB7, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x55, 0x4B, 0xBB, 0xEC, 0xC0, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE6, 0x44, 0x44, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x53, 0x6B, 0x65, 0x6C, 0x65, 0x74, 0x6F, 0x6E, 0x00, 0x62, 0x6F, 0x6E, 0x65, 0x73, 0x00, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3A, 0x32, 0x2C, 0x30, 0x2C, 0x53, 0x53, 0x6B, 0x65, 0x6C, 0x65, 0x74, 0x6F, 0x6E, 0x42, 0x6F, 0x6E, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x41, 0x6E, 0x73, 0x69, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x41, 0x73, 0x43, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x43, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x52, 0x6F, 0x6F, 0x74, 0x00, 0x54, 0x72, 0x61, 0x6A, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x00, 0x70, 0x65, 0x6C, 0x76, 0x69, 0x73, 0x00, 0x74, 0x6F, 0x72, 0x73, 0x6F, 0x00, 0x74, 0x6F, 0x72, 0x73, 0x6F, 0x32, 0x00, 0x74, 0x6F, 0x72, 0x73, 0x6F, 0x33, 0x00, 0x6E, 0x65, 0x63, 0x6B, 0x00, 0x68, 0x65, 0x61, 0x64, 0x00, 0x6C, 0x5F, 0x74, 0x68, 0x69, 0x67, 0x68, 0x00, 0x6C, 0x5F, 0x73, 0x68, 0x69, 0x6E, 0x00, 0x6C, 0x5F, 0x66, 0x6F, 0x6F, 0x74, 0x00, 0x72, 0x5F, 0x74, 0x68, 0x69, 0x67, 0x68, 0x00, 0x72, 0x5F, 0x73, 0x68, 0x69, 0x6E, 0x00, 0x72, 0x5F, 0x66, 0x6F, 0x6F, 0x74, 0x00, 0x6C, 0x5F, 0x73, 0x68, 0x6F, 0x75, 0x6C, 0x64, 0x65, 0x72, 0x00, 0x6C, 0x5F, 0x62, 0x69, 0x63, 0x65, 0x70, 0x00, 0x6C, 0x5F, 0x66, 0x6F, 0x72, 0x65, 0x61, 0x72, 0x6D, 0x00, 0x6C, 0x5F, 0x68, 0x61, 0x6E, 0x64, 0x00, 0x6C, 0x5F, 0x6D, 0x69, 0x64, 0x64, 0x6C, 0x65, 0x31, 0x00, 0x6C, 0x5F, 0x6D, 0x69, 0x64, 0x64, 0x6C, 0x65, 0x32, 0x00, 0x72, 0x5F, 0x73, 0x68, 0x6F, 0x75, 0x6C, 0x64, 0x65, 0x72, 0x00, 0x72, 0x5F, 0x62, 0x69, 0x63, 0x65, 0x70, 0x00, 0x72, 0x5F, 0x66, 0x6F, 0x72, 0x65, 0x61, 0x72, 0x6D, 0x00, 0x72, 0x5F, 0x68, 0x61, 0x6E, 0x64, 0x00, 0x72, 0x5F, 0x6D, 0x69, 0x64, 0x64, 0x6C, 0x65, 0x31, 0x00, 0x72, 0x5F, 0x6D, 0x69, 0x64, 0x64, 0x6C, 0x65, 0x32, 0x00, 0x72, 0x5F, 0x77, 0x65, 0x61, 0x70, 0x6F, 0x6E, 0x00, 0x6C, 0x5F, 0x77, 0x65, 0x61, 0x70, 0x6F, 0x6E, 0x00, 0x72, 0x5F, 0x62, 0x6F, 0x6F, 0x62, 0x00, 0x6C, 0x5F, 0x62, 0x6F, 0x6F, 0x62, 0x00, 0x6C, 0x5F, 0x74, 0x6F, 0x65, 0x00, 0x6C, 0x5F, 0x6C, 0x65, 0x67, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x6C, 0x5F, 0x6C, 0x65, 0x67, 0x52, 0x6F, 0x6C, 0x6C, 0x32, 0x00, 0x6C, 0x5F, 0x6B, 0x6E, 0x65, 0x65, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x72, 0x5F, 0x74, 0x6F, 0x65, 0x00, 0x72, 0x5F, 0x6C, 0x65, 0x67, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x72, 0x5F, 0x6C, 0x65, 0x67, 0x52, 0x6F, 0x6C, 0x6C, 0x32, 0x00, 0x72, 0x5F, 0x6B, 0x6E, 0x65, 0x65, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x6C, 0x5F, 0x62, 0x69, 0x63, 0x65, 0x70, 0x32, 0x00, 0x6C, 0x5F, 0x73, 0x68, 0x6F, 0x75, 0x6C, 0x64, 0x65, 0x72, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x6C, 0x5F, 0x65, 0x6C, 0x62, 0x6F, 0x77, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x6C, 0x5F, 0x66, 0x6F, 0x72, 0x65, 0x61, 0x72, 0x6D, 0x52, 0x6F, 0x6C, 0x6C, 0x31, 0x00, 0x6C, 0x5F, 0x66, 0x6F, 0x72, 0x65, 0x61, 0x72, 0x6D, 0x52, 0x6F, 0x6C, 0x6C, 0x32, 0x00, 0x6C, 0x5F, 0x68, 0x61, 0x6E, 0x64, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x72, 0x5F, 0x62, 0x69, 0x63, 0x65, 0x70, 0x32, 0x00, 0x72, 0x5F, 0x65, 0x6C, 0x62, 0x6F, 0x77, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x72, 0x5F, 0x66, 0x6F, 0x72, 0x65, 0x61, 0x72, 0x6D, 0x52, 0x6F, 0x6C, 0x6C, 0x31, 0x00, 0x72, 0x5F, 0x66, 0x6F, 0x72, 0x65, 0x61, 0x72, 0x6D, 0x52, 0x6F, 0x6C, 0x6C, 0x32, 0x00, 0x72, 0x5F, 0x68, 0x61, 0x6E, 0x64, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x72, 0x5F, 0x73, 0x68, 0x6F, 0x75, 0x6C, 0x64, 0x65, 0x72, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x68, 0x72, 0x6F, 0x6C, 0x6C, 0x00, 0x6C, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x31, 0x00, 0x6C, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x32, 0x00, 0x6C, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x33, 0x00, 0x6C, 0x5F, 0x6D, 0x69, 0x64, 0x64, 0x6C, 0x65, 0x33, 0x00, 0x6C, 0x5F, 0x70, 0x69, 0x6E, 0x6B, 0x79, 0x30, 0x00, 0x6C, 0x5F, 0x70, 0x69, 0x6E, 0x6B, 0x79, 0x31, 0x00, 0x6C, 0x5F, 0x70, 0x69, 0x6E, 0x6B, 0x79, 0x32, 0x00, 0x6C, 0x5F, 0x70, 0x69, 0x6E, 0x6B, 0x79, 0x33, 0x00, 0x6C, 0x5F, 0x72, 0x69, 0x6E, 0x67, 0x31, 0x00, 0x6C, 0x5F, 0x72, 0x69, 0x6E, 0x67, 0x32, 0x00, 0x6C, 0x5F, 0x72, 0x69, 0x6E, 0x67, 0x33, 0x00, 0x6C, 0x5F, 0x74, 0x68, 0x75, 0x6D, 0x62, 0x31, 0x00, 0x6C, 0x5F, 0x74, 0x68, 0x75, 0x6D, 0x62, 0x32, 0x00, 0x6C, 0x5F, 0x74, 0x68, 0x75, 0x6D, 0x62, 0x33, 0x00, 0x72, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x31, 0x00, 0x72, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x32, 0x00, 0x72, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x33, 0x00, 0x72, 0x5F, 0x6D, 0x69, 0x64, 0x64, 0x6C, 0x65, 0x33, 0x00, 0x72, 0x5F, 0x70, 0x69, 0x6E, 0x6B, 0x79, 0x30, 0x00, 0x72, 0x5F, 0x70, 0x69, 0x6E, 0x6B, 0x79, 0x31, 0x00, 0x72, 0x5F, 0x70, 0x69, 0x6E, 0x6B, 0x79, 0x32, 0x00, 0x72, 0x5F, 0x70, 0x69, 0x6E, 0x6B, 0x79, 0x33, 0x00, 0x72, 0x5F, 0x72, 0x69, 0x6E, 0x67, 0x31, 0x00, 0x72, 0x5F, 0x72, 0x69, 0x6E, 0x67, 0x32, 0x00, 0x72, 0x5F, 0x72, 0x69, 0x6E, 0x67, 0x33, 0x00, 0x72, 0x5F, 0x74, 0x68, 0x75, 0x6D, 0x62, 0x31, 0x00, 0x72, 0x5F, 0x74, 0x68, 0x75, 0x6D, 0x62, 0x32, 0x00, 0x72, 0x5F, 0x74, 0x68, 0x75, 0x6D, 0x62, 0x33, 0x00, 0x6C, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x5F, 0x6B, 0x6E, 0x75, 0x63, 0x6B, 0x6C, 0x65, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x6C, 0x5F, 0x6D, 0x69, 0x64, 0x64, 0x6C, 0x65, 0x5F, 0x6B, 0x6E, 0x75, 0x63, 0x6B, 0x6C, 0x65, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x6C, 0x5F, 0x70, 0x69, 0x6E, 0x6B, 0x79, 0x5F, 0x6B, 0x6E, 0x75, 0x63, 0x6B, 0x6C, 0x65, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x6C, 0x5F, 0x72, 0x69, 0x6E, 0x67, 0x5F, 0x6B, 0x6E, 0x75, 0x63, 0x6B, 0x6C, 0x65, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x6C, 0x5F, 0x74, 0x68, 0x75, 0x6D, 0x62, 0x5F, 0x72, 0x6F, 0x6C, 0x6C, 0x00, 0x72, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x5F, 0x6B, 0x6E, 0x75, 0x63, 0x6B, 0x6C, 0x65, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x72, 0x5F, 0x6D, 0x69, 0x64, 0x64, 0x6C, 0x65, 0x5F, 0x6B, 0x6E, 0x75, 0x63, 0x6B, 0x6C, 0x65, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x72, 0x5F, 0x70, 0x69, 0x6E, 0x6B, 0x79, 0x5F, 0x6B, 0x6E, 0x75, 0x63, 0x6B, 0x6C, 0x65, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x72, 0x5F, 0x72, 0x69, 0x6E, 0x67, 0x5F, 0x6B, 0x6E, 0x75, 0x63, 0x6B, 0x6C, 0x65, 0x52, 0x6F, 0x6C, 0x6C, 0x00, 0x72, 0x5F, 0x74, 0x68, 0x75, 0x6D, 0x62, 0x5F, 0x72, 0x6F, 0x6C, 0x6C, 0x00, 0x70, 0x61, 0x72, 0x65, 0x6E, 0x74, 0x49, 0x6E, 0x64, 0x69, 0x63, 0x65, 0x73, 0x00, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3A, 0x32, 0x2C, 0x30, 0x2C, 0x49, 0x6E, 0x74, 0x31, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA3, 0x3D, 0x4F, 0x72, 0x0B, 0x00, 0x00, 0x00, 0x5C, 0xC8, 0x16, 0x46, 0x11, 0x00, 0x00, 0x00, 0x12, 0x05, 0x4C, 0xD0, 0x29, 0x00, 0x00, 0x00, 0x12, 0xF1, 0xE5, 0x37, 0x2E, 0x00, 0x00, 0x00, 0x45, 0x91, 0x58, 0x83, 0x39, 0x00, 0x00, 0x00, 0x08, 0xF8, 0xB3, 0x89, 0x45, 0x00, 0x00, 0x00, 0xDB, 0x5B, 0x10, 0xF1, 0x4B, 0x00, 0x00, 0x00, 0xFF, 0x4C, 0x19, 0x19, 0x50, 0x00, 0x00, 0x00, 0x68, 0x17, 0x16, 0x22, 0x5B, 0x00, 0x00, 0x00, 0x58, 0xB4, 0xEA, 0xE4, 0x62, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0xF7, 0x70, 0x68, 0x00, 0x00, 0x00, 0xE6, 0xCB, 0xB1, 0xCD, 0x6F, 0x00, 0x00, 0x00, 0x4F, 0x46, 0xB4, 0xF3, 0x76, 0x00, 0x00, 0x00, 0x56, 0x37, 0x87, 0xAB, 0x7B, 0x00, 0x00, 0x00, 0xF9, 0x43, 0xC2, 0x1E, 0x80, 0x00, 0x00, 0x00, 0x5C, 0x06, 0x02, 0x17, 0x88, 0x00, 0x00, 0x00, 0x7C, 0xD6, 0x63, 0xA7, 0x8F, 0x00, 0x00, 0x00, 0x80, 0x8A, 0x61, 0xDC, 0x96, 0x00, 0x00, 0x00, 0xFA, 0x3D, 0x98, 0x2E, 0x9E, 0x00, 0x00, 0x00, 0x12, 0x30, 0x83, 0x19, 0xA5, 0x00, 0x00, 0x00, 0x5A, 0x05, 0x0D, 0x97, 0xAC, 0x00, 0x00, 0x00, 0x34, 0xDB, 0x99, 0x55, 0xB7, 0x00, 0x00, 0x00, 0x99, 0xDE, 0x3E, 0x67, 0xBF, 0x00, 0x00, 0x00, 0x1C, 0x6B, 0xC0, 0x1F, 0xC9, 0x00, 0x00, 0x00, 0x67, 0x43, 0x5E, 0xB6, 0xD0, 0x00, 0x00, 0x00, 0x98, 0x4D, 0x0D, 0xD0, 0xDA, 0x00, 0x00, 0x00, 0xD3, 0xBC, 0x14, 0x42, 0xE4, 0x00, 0x00, 0x00, 0x4E, 0x5C, 0x7A, 0x07, 0xEF, 0x00, 0x00, 0x00, 0x93, 0x6E, 0x3D, 0x01, 0xF7, 0x00, 0x00, 0x00, 0x7E, 0xD8, 0x5B, 0x20, 0x01, 0x01, 0x00, 0x00, 0xB9, 0x77, 0xFF, 0x5C, 0x08, 0x01, 0x00, 0x00, 0xDA, 0x78, 0xB2, 0x29, 0x12, 0x01, 0x00, 0x00, 0x71, 0xFE, 0xAF, 0x03, 0x1C, 0x01, 0x00, 0x00, 0xAA, 0x2A, 0xBA, 0x51, 0x25, 0x01, 0x00, 0x00, 0xE0, 0x11, 0x62, 0x2C, 0x2E, 0x01, 0x00, 0x00, 0x68, 0xE6, 0x48, 0xDF, 0x35, 0x01, 0x00, 0x00, 0x92, 0xA9, 0x6D, 0x35, 0x3C, 0x01, 0x00, 0x00, 0x70, 0x3A, 0xFB, 0x34, 0x42, 0x01, 0x00, 0x00, 0x99, 0x1E, 0x77, 0x76, 0x4C, 0x01, 0x00, 0x00, 0x79, 0x8F, 0x58, 0x6A, 0x57, 0x01, 0x00, 0x00, 0xBC, 0x99, 0xE7, 0x41, 0x62, 0x01, 0x00, 0x00, 0xD6, 0xE4, 0x6D, 0x5D, 0x68, 0x01, 0x00, 0x00, 0x3F, 0x2C, 0x76, 0xD3, 0x72, 0x01, 0x00, 0x00, 0x6F, 0xF5, 0xE4, 0x0D, 0x7D, 0x01, 0x00, 0x00, 0xDA, 0x1C, 0xD7, 0x02, 0x88, 0x01, 0x00, 0x00, 0x79, 0xCF, 0xCB, 0x74, 0x91, 0x01, 0x00, 0x00, 0xAD, 0x93, 0xAC, 0x28, 0xA0, 0x01, 0x00, 0x00, 0x4C, 0x13, 0x93, 0x6E, 0xAC, 0x01, 0x00, 0x00, 0x86, 0x96, 0x0B, 0x8E, 0xBB, 0x01, 0x00, 0x00, 0x1D, 0x1C, 0x09, 0x68, 0xCA, 0x01, 0x00, 0x00, 0xD2, 0xD2, 0x51, 0x88, 0xD5, 0x01, 0x00, 0x00, 0xEB, 0xF9, 0x30, 0xF3, 0xDE, 0x01, 0x00, 0x00, 0x2A, 0x97, 0x99, 0x18, 0xEA, 0x01, 0x00, 0x00, 0x94, 0x96, 0xA1, 0x74, 0xF9, 0x01, 0x00, 0x00, 0xCF, 0x05, 0xA9, 0xE6, 0x08, 0x02, 0x00, 0x00, 0x74, 0xA2, 0xBA, 0x92, 0x13, 0x02, 0x00, 0x00, 0x8F, 0x35, 0x68, 0x4D, 0x22, 0x02, 0x00, 0x00, 0xB8, 0x70, 0xF1, 0x92, 0x28, 0x02, 0x00, 0x00, 0xD1, 0x34, 0x96, 0x93, 0x31, 0x02, 0x00, 0x00, 0x3A, 0xAF, 0x98, 0xB9, 0x3A, 0x02, 0x00, 0x00, 0xA3, 0x29, 0x9B, 0xDF, 0x43, 0x02, 0x00, 0x00, 0x6A, 0x42, 0x12, 0x1C, 0x4D, 0x02, 0x00, 0x00, 0x33, 0x2A, 0x09, 0x01, 0x56, 0x02, 0x00, 0x00, 0xCA, 0xAF, 0x06, 0xDB, 0x5F, 0x02, 0x00, 0x00, 0x61, 0x35, 0x04, 0xB5, 0x68, 0x02, 0x00, 0x00, 0xF8, 0xBA, 0x01, 0x8F, 0x71, 0x02, 0x00, 0x00, 0xDF, 0x39, 0x62, 0x28, 0x79, 0x02, 0x00, 0x00, 0xA4, 0xCA, 0x5A, 0xB6, 0x81, 0x02, 0x00, 0x00, 0x0D, 0x45, 0x5D, 0xDC, 0x89, 0x02, 0x00, 0x00, 0x35, 0x6F, 0x80, 0x4A, 0x92, 0x02, 0x00, 0x00, 0x9E, 0xE9, 0x82, 0x70, 0x9B, 0x02, 0x00, 0x00, 0x07, 0x64, 0x85, 0x96, 0xA4, 0x02, 0x00, 0x00, 0x8B, 0xB1, 0xC3, 0x06, 0xAD, 0x02, 0x00, 0x00, 0x50, 0x42, 0xBC, 0x94, 0xB6, 0x02, 0x00, 0x00, 0xB9, 0xBC, 0xBE, 0xBA, 0xBF, 0x02, 0x00, 0x00, 0x08, 0x84, 0xAD, 0xDD, 0xC9, 0x02, 0x00, 0x00, 0xD1, 0xA5, 0x23, 0x7D, 0xD2, 0x02, 0x00, 0x00, 0x68, 0x2B, 0x21, 0x57, 0xDB, 0x02, 0x00, 0x00, 0xA3, 0x9A, 0x28, 0xC9, 0xE4, 0x02, 0x00, 0x00, 0x3A, 0x20, 0x26, 0xA3, 0xED, 0x02, 0x00, 0x00, 0xCD, 0x55, 0x75, 0xEC, 0xF5, 0x02, 0x00, 0x00, 0x36, 0xD0, 0x77, 0x12, 0xFD, 0x02, 0x00, 0x00, 0x9F, 0x4A, 0x7A, 0x38, 0x05, 0x03, 0x00, 0x00, 0x07, 0x21, 0xFA, 0x1A, 0x0E, 0x03, 0x00, 0x00, 0xCC, 0xB1, 0xF2, 0xA8, 0x17, 0x03, 0x00, 0x00, 0x35, 0x2C, 0xF5, 0xCE, 0x20, 0x03, 0x00, 0x00, 0xC3, 0x5A, 0x68, 0xBE, 0x34, 0x03, 0x00, 0x00, 0xC8, 0x88, 0x77, 0xE7, 0x49, 0x03, 0x00, 0x00, 0xC2, 0x29, 0xBC, 0xF3, 0x5D, 0x03, 0x00, 0x00, 0x99, 0x21, 0x83, 0xC3, 0x70, 0x03, 0x00, 0x00, 0x1E, 0x14, 0x9D, 0x0A, 0x7D, 0x03, 0x00, 0x00, 0x6D, 0xE8, 0x69, 0xE3, 0x91, 0x03, 0x00, 0x00, 0xB2, 0xAD, 0x7F, 0xE1, 0xA6, 0x03, 0x00, 0x00, 0xF8, 0x21, 0x90, 0x38, 0xBA, 0x03, 0x00, 0x00, 0xA7, 0x0F, 0xB6, 0x12, 0xCD, 0x03, 0x00, 0x00, 0xE4, 0x1B, 0x18, 0x6E, 0xDA, 0x03, 0x00, 0x00, 0x7E, 0x22, 0x4E, 0x6E, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0xBB, 0xE3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0xD8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x65, 0xB5, 0xDE, 0x00, 0x02, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x62, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
                using (MemoryStream ms = new MemoryStream(data))
                    using (BinaryReader br = new BinaryReader(ms))
                    {
                        W2RigFile = new CR2WFile(br);
                        var chunk = W2RigFile.chunks[0];

                        CArray bonesorig = (chunk.GetVariableByName("bones") as CArray);
                        for (int i = 0; i < skeleton.names.Count; i++)
                        {
                            CVariable   newBone = new CVector(W2RigFile);
                            CStringAnsi newName = new CStringAnsi(W2RigFile).SetValue(skeleton.names[i] + "\0") as CStringAnsi;
                            newName.Name = "name";
                            newName.Type = "StringAnsi";
                            newBone.AddVariable(newName);
                            CName newCName = new CName(W2RigFile).SetValue(skeleton.names[i]) as CName;
                            newCName.Name = "nameAsCName";
                            newCName.Type = "CName";
                            newBone.AddVariable(newCName);
                            (chunk.GetVariableByName("bones") as CArray).AddVariable(newBone);
                            (chunk.GetVariableByName("parentIndices") as CArray).AddVariable(new CInt16(W2RigFile).SetValue(skeleton.parentIdx[i]));
                        }

                        using (var stream = new MemoryStream())
                        {
                            using (var bw = new BinaryWriter(stream))
                            {
                                for (int i = 0; i < skeleton.nbBones; i++)
                                {
                                    bw.Write(skeleton.positions[i].X);
                                    bw.Write(skeleton.positions[i].Y);
                                    bw.Write(skeleton.positions[i].Z);
                                    bw.Write(1f); // the w component
                                    bw.Write(-skeleton.rotations[i].X);
                                    bw.Write(-skeleton.rotations[i].Y);
                                    bw.Write(-skeleton.rotations[i].Z);
                                    bw.Write(skeleton.rotations[i].W);
                                    bw.Write(skeleton.scales[i].X);
                                    bw.Write(skeleton.scales[i].Y);
                                    bw.Write(skeleton.scales[i].Z);
                                    bw.Write(1f); // the w component
                                }
                            }
                            chunk.unknownBytes.SetValue(stream.ToArray());
                            //saveToFile();
                        }
                    }
            }
        }
 public virtual void update()
 {
     if (owner != null)
     {
         CVector pos = owner.getPos();
         //if (pos != null)      // TODO: ESTO LO SAQUE CUANDO SE CAMBIO CVECTOR PARA QUE SEA STRUCT
         gameObject.transform.position = new Vector3(pos.x, -pos.y, pos.z);
     }
 }
Exemple #18
0
        public override List <CPtr> GetConnections()
        {
            var list = new List <CPtr>();

            if (Chunk != null)
            {
                var cachedConnections = Chunk.GetVariableByName("cachedConnections");
                if (cachedConnections != null && cachedConnections is CArray)
                {
                    var cachedConnectionsArray = ((CArray)cachedConnections);
                    foreach (CVariable conn in cachedConnectionsArray)
                    {
                        if (conn is CVector)
                        {
                            CVector connection = (CVector)conn;
                            CName   socketId   = (CName)connection.GetVariableByName("socketId");
                            CArray  blocks     = (CArray)connection.GetVariableByName("blocks");

                            if (blocks != null && blocks is CArray)
                            {
                                foreach (CVariable block in blocks)
                                {
                                    if (block is CVector)
                                    {
                                        foreach (CVariable blockVectorVariable in ((CVector)block).variables)
                                        {
                                            if (blockVectorVariable is CPtr)
                                            {
                                                var nextLinkElementPtr = ((CPtr)blockVectorVariable);
                                                if (nextLinkElementPtr.Reference != null)
                                                {
                                                    list.Add(nextLinkElementPtr);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                var nextLinkElementObj = Chunk.GetVariableByName("nextLinkElement");
                if (nextLinkElementObj != null && nextLinkElementObj is CPtr)
                {
                    var nextLinkElementPtr = ((CPtr)nextLinkElementObj);
                    if (nextLinkElementPtr.Reference != null)
                    {
                        list.Add(nextLinkElementPtr);
                    }
                }
            }

            return(list);
        }
Exemple #19
0
 public static CVariable GetVariableByName(this CVector arr, string name)
 {
     for (var i = 0; i < arr.variables.Count; i++)
     {
         if (arr.variables[i].Name == name)
         {
             return(arr.variables[i]);
         }
     }
     return(null);
 }
Exemple #20
0
        // ------------------- //
        // Felder und Methoden //
        // ------------------- //
        // CElp.Position(double)
        /// <summary>
        /// Liefert die geozentrische Position des Mondes zur julianischen Tageszahl.
        /// </summary>
        /// <param name="jd">Julianische Tageszahl.</param>
        /// <returns>Geozentrische Position des Mondes zur julianischen Tageszahl.</returns>
        public CVector Position(double jd)
        {
            // Lokale Felder einrichten
            double[] elp = new double[37];             // Vektor für Elp-Werte.
            double[] t   = new double[5];              // Vektor für Jahrhundertbruchteil.
            CVector  rtn = new CVector();

            // Jahrhundertbruchteil einrichten
            t[0] = 1.0;                                    // t^0.
            t[1] = (jd - 2451545.0) / 36525.0;             // t^1.
            t[2] = t[1] * t[1];                            // t^2.
            t[3] = t[1] * t[2];                            // t^3.
            t[4] = t[1] * t[3];                            // t^4.

            // Elp-Terme berechnen
            elp[0]  = 0.0;                            // [Nicht verwendet].
            elp[1]  = this.m_SumElp01(t);             // Main problem – Longitude.
            elp[2]  = this.m_SumElp02(t);             // Main problem – Latitude.
            elp[3]  = this.m_SumElp03(t);             // Main problem – Distance.
            elp[4]  = this.m_SumElp04(t);             // Earth perturbations – Longitude.
            elp[5]  = this.m_SumElp05(t);             // Earth perturbations – Latitude.
            elp[6]  = this.m_SumElp06(t);             // Earth perturbations – Distance.
            elp[7]  = this.m_SumElp07(t);             // Earth perturbations – Longitude/t.
            elp[8]  = this.m_SumElp08(t);             // Earth perturbations – Latitude/t.
            elp[9]  = this.m_SumElp09(t);             // Earth perturbations – Distance/t.
            elp[10] = this.m_SumElp10(t);             // Planetary perturbations – Table 1 Longitude.
            elp[11] = this.m_SumElp11(t);             // Planetary perturbations – Table 1 Latitude.
            elp[12] = this.m_SumElp12(t);             // Planetary perturbations – Table 1 Distance.
            elp[13] = this.m_SumElp13(t);             // Planetary perturbations – Table 1 Longitude/t.
            elp[14] = this.m_SumElp14(t);             // Planetary perturbations – Table 1 Latitude/t.
            elp[15] = this.m_SumElp15(t);             // Planetary perturbations – Table 1 Distance/t.
            elp[16] = this.m_SumElp16(t);             // Planetary perturbations – Table 2 Longitude.
            elp[17] = this.m_SumElp17(t);             // Planetary perturbations – Table 2 Latitude.
            elp[18] = this.m_SumElp18(t);             // Planetary perturbations – Table 2 Distance.
            elp[19] = this.m_SumElp19(t);             // Planetary perturbations – Table 2 Longitude/t.
            elp[20] = this.m_SumElp20(t);             // Planetary perturbations – Table 2 Latitude/t.
            elp[21] = this.m_SumElp21(t);             // Planetary perturbations – Table 2 Distance/t.
            elp[22] = this.m_SumElp22(t);             // Tidal effects – Longitude.
            elp[23] = this.m_SumElp23(t);             // Tidal effects – Latitude.
            elp[24] = this.m_SumElp24(t);             // Tidal effects – Distance.
            elp[25] = this.m_SumElp25(t);             // Tidal effects – Longitude/t.
            elp[26] = this.m_SumElp26(t);             // Tidal effects – Latitude/t.
            elp[27] = this.m_SumElp27(t);             // Tidal effects – Distance/t.
            elp[28] = this.m_SumElp28(t);             // Moon figure perturbations – Longitude.
            elp[29] = this.m_SumElp29(t);             // Moon figure perturbations – Latitude.
            elp[30] = this.m_SumElp30(t);             // Moon figure perturbations – Distance.
            elp[31] = this.m_SumElp31(t);             // Relativistic perturbations – Longitude.
            elp[32] = this.m_SumElp32(t);             // Relativistic perturbations – Latitude.
            elp[33] = this.m_SumElp33(t);             // Relativistic perturbations – Distance.
            elp[34] = this.m_SumElp34(t);             // Planetary perturbations – Solar eccentricity – Longitude/t^2.
            elp[35] = this.m_SumElp35(t);             // Planetary perturbations – Solar eccentricity – Latitude/t^2.
            elp[36] = this.m_SumElp36(t);             // Planetary perturbations – Solar eccentricity – Distance/t^2.
            return(rtn);
        }
Exemple #21
0
 public static CVariable GetVariableByType(this CVector arr, string type)
 {
     for (var i = 0; i < arr.variables.Count; i++)
     {
         if (arr.variables[i].Type == type)
         {
             return(arr.variables[i]);
         }
     }
     return(null);
 }
Exemple #22
0
    // Calculates the angle between two vectors.
    // Returns: The angle between the two given vectors.
    public static float getAngleBetween(CVector aVector1, CVector aVector2)
    {
        if (!aVector1.isNormalized())
        {
            aVector1.clone().normalize();
        }

        if (!aVector2.isNormalized())
        {
            aVector2.clone().normalize();
        }

        return(Mathf.Acos(aVector1.dotProd(aVector2)));
    }
Exemple #23
0
            public void Set(CVector <TData> Obj_)
            {
                if (Obj_._Size > _Size)
                {
                    _Datas = new TData[Obj_._Size];
                }

                _Size = Obj_._Size;

                for (Int32 i = 0; i < Obj_._Size; ++i)
                {
                    _Datas[i] = Obj_._Datas[i];
                }
            }
    // Use this for initialization
    void Start()
    {
        mAndy = CGame.inst().getAndy();

        if (mAndy == null)
        {
            lastPlayerPosition = new CVector(0, 0, 0);
        }
        else
        {
            lastPlayerPosition = mAndy.getPos();
        }
        //lastPlayerPosition = thePlayer.getPos();
    }
        private void ReadObjectData()
        {
            Writer.WriteLine("\n");
            Writer.WriteLine("\tObject Data");
            Writer.WriteLine("\n");

            foreach (var obj in objects)
            {
                BaseStream.Seek(obj.Offset, SeekOrigin.Begin);
                var end = obj.Offset + obj.Size;

                var vector = new CVector()
                {
                    type  = names[Convert.ToInt32(obj.TypeID)].Value,
                    size  = obj.Size,
                    index = Vectors.Count,
                };
                Vectors.Add(vector);
                ReadVariable(vector);

                var unknsize = end - BaseStream.Position;
                if (unknsize != 0)
                {
                    vector.unknown = ReadBytes(Convert.ToInt32(unknsize));
                }
            }

            foreach (var v in Vectors)
            {
                Writer.WriteLine("Vector:   {0}", v.index);
                Writer.WriteLine("Name:     {0}", v.name);
                Writer.WriteLine("Type:     {0}", v.type);
                if (v.children.Count != 0)
                {
                    Writer.WriteLine("Children: {0}", String.Join(",", v.children));
                }
                if (v.value != null)
                {
                    Writer.WriteLine("Value:    {0}", v.value.ToString());
                }
                if (v.unknown != null)
                {
                    Writer.WriteLine("Unknown:  {0} bytes", v.unknown.Length);
                }
                Writer.WriteLine();
            }
        }
Exemple #26
0
    void Start()
    {
        canvasRoot     = GameObject.Find("Root");
        connectionRoot = GameObject.Find("TestConnection");

        textRoot   = GameObject.Find("TextManager");
        numberRoot = GameObject.Find("NumberManager");
        alertRoot  = GameObject.Find("AlertManager");
        audioRoot  = canvasRoot.GetComponent <AudioSource>();

        DOTween.Init();                     //简单初始化DOTween
        UIManager.InitUIDic();              //初始化保存UI的数据字典
        NumberManager.InitNumberResource(); //初始化NumberManager所需要的纹理资源
        CVector.InitVector3();              //初始化Vector3配置信息

        gameState = GameState.GameState_ENTRY;
    }
        private void CalculateB()
        {
            if (!CanCalculateArbitrage())
            {
                return;
            }

            Eigen aE = new Eigen(m_a);

            CMatrix aECVec = aE.Eigenvectors;
            CVector aECVal = aE.Eigenvalues;

            double aLambdaMax = aECVal[0].Real;

            Vector aEVec = new Vector(aECVal.Length);

            for (int i = 0; i < aECVal.Length; i++)
            {
                aEVec[i] = aECVec[i, 0].Real;
            }

            for (int i = 0; i < m_a.Rows; i++)
            {
                for (int j = 0; j < m_a.Cols; j++)
                {
                    m_b[i, j] = aEVec[i] / aEVec[j];
                    //m_b[i, j] = (m_eigenValuesTest[i] / m_eigenValuesTest[j]);
                }
            }

            Eigen bE = new Eigen(m_b);

            CMatrix bECVec = bE.Eigenvectors;
            CVector bECVal = bE.Eigenvalues;

            double bLambdaMax = bECVal[0].Real;

            Dispatcher.Invoke(() =>
            {
                ALambdaMax = Math.Round(aLambdaMax, 5);
                BLambdaMax = Math.Round(bLambdaMax, 5);
            });
        }
Exemple #28
0
    override protected void leftClickPower()
    {
        AireDisparo bullet = new AireDisparo();
        //La direcion de la bala
        CVector playerCenter = new CVector(player.getX() + player.getWidth() / 2, player.getY() + player.getHeight() / 2);
        float   radius       = player.getHeight() > player.getWidth() ? player.getHeight() / 2 : player.getWidth() / 2;
        float   xDiff        = CMouse.getX() - playerCenter.x;
        float   yDiff        = CMouse.getY() - playerCenter.y;
        float   angRad       = Mathf.Atan2(yDiff, xDiff);

        bullet.setRotation(CMath.radToDeg(angRad));
        // X: Centro del personaje + ancho / 2 * angulo
        bullet.setX(playerCenter.x + radius * Mathf.Cos(angRad));
        // Y: Centro del personaje + alto / 2 * angulo
        bullet.setY(playerCenter.y + radius * Mathf.Sin(angRad));
        bullet.setVelXY(AireDisparo.SPEED * Mathf.Cos(angRad), AireDisparo.SPEED * Mathf.Sin(angRad));
        bullet.setBounds(0, 0, CTileMap.Instance.getMapWidth() * CTileMap.Instance.getTileWidth(), CTileMap.Instance.getMapHeight() * CTileMap.Instance.getTileHeight());
        CBulletManager.inst().add(bullet);
    }
    virtual public void update()
    {
        mTimeState = mTimeState + Time.deltaTime;

        // Truncate acceleration.
        mAccel.truncate(mMaxAccel);

        mVel = mVel + mAccel * Time.deltaTime;

        // Apply friction.
        mVel.mul(mFriction);

        // Truncate speed.
        mVel.truncate(mMaxSpeed);

        mPos = mPos + mVel * Time.deltaTime;

        checkBounds();
    }
    override public void update()
    {
        base.update();

        CPlayer player = CGame.inst().getPlayer();
        CVector a      = player.getPos() - getPos();

        a.normalize();
        a.mul(ACCEL);
        setAccel(a);

        // TODO: HACER COLISIONES CON ENEMY SHIP.

        /*CAsteroid enemy = (CAsteroid) CEnemyManager.inst ().collides (this);
         * if (enemy != null)
         * {
         *      setDead (true);
         *      enemy.hit ();
         * }*/
    }