Exemplo n.º 1
0
            public OracleArm(MaxOracle oracle)
            {
                this.oracle = oracle;

                this.baseMoveSoundLoop = new StaticSoundLoop(SoundID.SS_AI_Base_Move_LOOP, oracle.firstChunk.pos, oracle.room, 1f, 1f);

                this.cornerPositions = new Vector2[4];
                //this.cornerPositions[0] = oracle.room.MiddleOfTile(10, 31);
                //this.cornerPositions[1] = oracle.room.MiddleOfTile(38, 31);
                //this.cornerPositions[2] = oracle.room.MiddleOfTile(38, 3);
                //this.cornerPositions[3] = oracle.room.MiddleOfTile(10, 3);
                this.cornerPositions[0] = new Vector2(50, 610);
                this.cornerPositions[1] = new Vector2(610, 610);
                this.cornerPositions[2] = new Vector2(610, 50);
                this.cornerPositions[3] = new Vector2(50, 50);
                this.joints             = new OracleArm.Joint[4];
                for (int j = 0; j < this.joints.Length; j++)
                {
                    this.joints[j] = new OracleArm.Joint(this, j);
                    if (j > 0)
                    {
                        this.joints[j].previous = this.joints[j - 1];
                        this.joints[j - 1].next = this.joints[j];
                    }
                }
                this.framePos     = 10002.5f;
                this.lastFramePos = this.framePos;
            }
        public MaxOracleBehavior(MaxOracle oracle) : base(oracle)
        {
            this.oracle = oracle;

            this.currentGetTo     = oracle.firstChunk.pos;
            this.lastPos          = oracle.firstChunk.pos;
            this.nextPos          = oracle.firstChunk.pos;
            this.pathProgression  = 1f;
            this.investigateAngle = UnityEngine.Random.value * 360f;
            this.allSubBehaviors  = new List <SubBehavior>();
            this.currSubBehavior  = new NoSubBehavior(this);
            this.allSubBehaviors.Add(this.currSubBehavior);
            this.working               = 1f;
            this.getToWorking          = 1f;
            this.movementBehavior      = ((UnityEngine.Random.value >= 0.5f) ? MovementBehavior.Idle : MovementBehavior.Meditate);
            this.playerEnteredWithMark = false; //oracle.room.game.GetStorySession.saveState.deathPersistentSaveData.theMark;
            this.voice = null;
        }