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; }