void SetSubCannonAttack(string cannonName, MZMode mode) { MZControlUpdate<MZPartControl> partControlUpdate = mode.AddPartControlUpdater(); MZPartControl partControl = new MZPartControl( partsByNameDictionary[ cannonName ] ); partControlUpdate.Add( partControl ); MZAttack_Idle show = partControl.AddAttack<MZAttack_Idle>(); show.duration = 1.0f; show.isRunOnce = true; MZAttack_Idle wait1 = partControl.AddAttack<MZAttack_Idle>(); wait1.duration = 2.0f; MZAttack_OddWay attack = partControl.AddAttack<MZAttack_OddWay>(); attack.numberOfWays = 1; attack.bulletName = "EBDonuts"; attack.initVelocity = 250; attack.targetHelp = new MZTargetHelp_Target(); attack.targetHelp.calcuteEveryTime = true; attack.colddown = 0.05f; attack.additionalVelocity = 50; attack.duration = 0.5f; MZAttack_Idle wait2 = partControl.AddAttack<MZAttack_Idle>(); wait2.duration = 2.5f; }
void SetMainBodyAttack(MZMode mode) { MZControlUpdate<MZPartControl> partControlUpdate = mode.AddPartControlUpdater(); MZPartControl partControl = new MZPartControl( partsByNameDictionary[ "MainBody" ] ); partControlUpdate.Add( partControl ); MZAttack_Idle show = partControl.AddAttack<MZAttack_Idle>(); show.duration = 1.0f; show.isRunOnce = true; MZAttack_OddWay nWay = partControl.AddAttack<MZAttack_OddWay>(); nWay.bulletName = "EBBee"; nWay.numberOfWays = 7; nWay.colddown = 0.25f; nWay.intervalDegrees = 10; nWay.initVelocity = 400; nWay.duration = 1.0f; nWay.additionalWaysPerLaunch = -2; nWay.targetHelp = new MZTargetHelp_Target(); nWay.targetHelp.calcuteEveryTime = false; nWay.offsetPositionsList.Add( new Vector2( 0, 0 ) ); for( int i = 0; i < nWay.numberOfWays; i++ ) { nWay.offsetPositionsList.Add( new Vector2( -40*i, 0 ) ); nWay.offsetPositionsList.Add( new Vector2( 40*i, 0 ) ); } MZAttack_Idle cd = partControl.AddAttack<MZAttack_Idle>(); cd.duration = 4.0f; }
void AddMove_Rotation(MZMode mode) { MZMove_Rotation move = mode.AddMove<MZMove_Rotation>( "move" ); move.angularVelocity = -100; move.variationOfRadians = -10; move.radiansLimited = 100; move.targetHelp.assignPosition = new Vector2( 0, 0 ); }
MZMove AddCommonMove(MZMode mode, string name) { MZMove_LinearBy linearTo = mode.AddMove<MZMove_LinearBy>( name ); linearTo.velocity = 100; linearTo.direction = 270; return linearTo; }
public MZMode AddMode(string name) { MZMode mode = new MZMode(); mode.name = name; mode.controlDelegate = this; modesList.Add( mode ); return mode; }
void AddOddWayAttack(MZCharacterPart part, MZMode mode) { MZPartControl partControl = new MZPartControl( part ); MZControlUpdate<MZPartControl> partControlUpdate = mode.AddPartControlUpdater(); partControlUpdate.Add( partControl ); MZAttack_OddWay attack = partControl.AddAttack<MZAttack_OddWay>(); attack.numberOfWays = 1; attack.colddown = 0.3f; attack.duration = 0.1f; attack.initVelocity = 500; attack.bulletName = "EBDonuts"; attack.targetHelp = new MZTargetHelp_Target(); MZAttack_Idle idle = partControl.AddAttack<MZAttack_Idle>(); idle.duration = 3; }
void SetMainAttack(string partName, MZMode mode) { MZControlUpdate<MZPartControl> partControlUpdate = mode.AddPartControlUpdater(); MZPartControl partControl = new MZPartControl( partsByNameDictionary[ partName ] ); partControlUpdate.Add( partControl ); MZAttack_Idle show = partControl.AddAttack<MZAttack_Idle>(); show.duration = 1.0f; show.isRunOnce = true; MZAttack_OddWay nWay = partControl.AddAttack<MZAttack_OddWay>(); nWay.bulletName = "EBBee"; nWay.numberOfWays = 7; nWay.colddown = 0.25f; nWay.intervalDegrees = 10; nWay.initVelocity = 400; nWay.duration = 1.0f; nWay.additionalWaysPerLaunch = -2; nWay.targetHelp = new MZTargetHelp_Target(); MZAttack_Idle cd = partControl.AddAttack<MZAttack_Idle>(); cd.duration = 4.0f; }
void AddSplitMoveToSubEmemy(MZMode mode) { MZMove_LinearTo splitMove = mode.AddMove<MZMove_LinearTo>( "s" ); float moveDegrees = ( 360/8 )*currentEnemyCreatedCount; float movement = 200; splitMove.useRelativePosition = true; splitMove.destinationPosition = MZMath.UnitVectorFromDegrees( moveDegrees )*movement; splitMove.totalTime = _splitTime - 0.1f; splitMove.duration = _splitTime; }
void SetType3Move(MZMode mode, MZEnemy enemy) { MZMove_Rotation rotShow = mode.AddMove<MZMove_Rotation>( "r" ); rotShow.angularVelocity = 50*_angularVelocityDirection; rotShow.variationOfRadians = -300; rotShow.radiansLimited = 400; rotShow.targetHelp.assignPosition = Vector2.zero; rotShow.duration = 1.5f; MZMove_Idle moveIdle = mode.AddMove<MZMove_Idle>( "i" ); moveIdle.duration = 5; MZMove_LinearTo moveOut = mode.AddMove<MZMove_LinearTo>( "l" ); moveOut.destinationPosition = Vector2.zero; moveOut.totalTime = 0.5f; moveOut.notEndAtDestation = true; }
void SetType2Move(MZMode mode, MZEnemy enemy) { MZMove_Rotation rotShow = mode.AddMove<MZMove_Rotation>( "r" ); rotShow.angularVelocity = 50*_angularVelocityDirection; rotShow.variationOfRadians = -100; rotShow.targetHelp.assignPosition = Vector2.zero; rotShow.duration = 20; }
void SetType1Move(MZMode mode, MZEnemy enemy) { MZMove_LinearBy show = mode.AddMove<MZMove_LinearBy>( "l" ); show.direction = MZMath.DegreesFromXAxisToVector( MZMath.UnitVectorFromP1ToP2( enemy.position, Vector2.zero ) ); show.duration = 0.6f; show.velocity = 500; MZMove_Rotation rotShow = mode.AddMove< MZMove_Rotation>( "r1" ); rotShow.angularVelocity = 50*_angularVelocityDirection; rotShow.variationOfRadians = -300; rotShow.radiansLimited = 400; rotShow.targetHelp.assignPosition = Vector2.zero; rotShow.duration = 10.0f; MZMove_Rotation rotOut = mode.AddMove< MZMove_Rotation>( "r2" ); rotOut.angularVelocity = 50*_angularVelocityDirection; rotOut.variationOfRadians = 300; rotOut.targetHelp.assignPosition = Vector2.zero; rotOut.duration = 10; }
void SetNewPartToMultiVortexAttack(MZMode mode, MZEnemy enemy, float degrees) { MZPartControl partControl = new MZPartControl( enemy.partsByNameDictionary[ "MainBody" ] ); mode.AddPartControlUpdater().Add( partControl ); AddMultiVortex( partControl, degrees ); }
void SetMove(MZMode mode) { MZMove_LinearTo to = mode.AddMove<MZMove_LinearTo>( "move" ); to.destinationPosition = new Vector2( 0, MZGameSetting.ENEMY_BOUNDLE_TOP/3*2 + 40 ); to.totalTime = 4.0f; to.isRunOnce = true; to.duration = 12; MZMove_LinearTo left = mode.AddMove<MZMove_LinearTo>( "left" ); left.destinationPosition = new Vector2( 0, MZGameSetting.ENEMY_BOUNDLE_TOP + 300 ); left.totalTime = 10.0f; }
void AddCrossWayAttack(MZCharacterPart part, MZMode mode, float degree, int way) { MZPartControl partControl = new MZPartControl( part ); mode.AddPartControlUpdater().Add( partControl ); float rankIdle = ( ( rank < 3 )? 0.5f : 0 ); MZAttack_OddWay odd = partControl.AddAttack<MZAttack_OddWay>(); odd.numberOfWays = way; odd.colddown = 0.1f; odd.duration = 1.0f - rankIdle + ( ( rank >= 7 )? -0.6f : 0 ); odd.bulletName = "EBDonuts"; odd.initVelocity = 300; odd.additionalVelocity = 80; odd.targetHelp = MZTargetHelp.Create<MZTargetHelp_AssignDirection>(); ( odd.targetHelp as MZTargetHelp_AssignDirection ).direction = degree; float interval = 50; odd.offsetPositionsList.Add( new Vector2( 0, -interval ) ); odd.offsetPositionsList.Add( new Vector2( -interval, 0 ) ); odd.offsetPositionsList.Add( new Vector2( interval, 0 ) ); MZAttack_Idle idle = partControl.AddAttack<MZAttack_Idle>(); idle.duration = 0.6f + rankIdle; }
void AddMove_ToTarget(MZMode mode) { MZMove_ToTarget move = mode.AddMove<MZMove_ToTarget>( "move" ); move.velocity = 300; }
// void AddMove_Linear(MZMode mode) { MZMove_LinearBy move = mode.AddMove< MZMove_LinearBy>( "move" ); move.direction = ( position.x > 0 )? 225 : ( position.x < 0 )? 315 : 270; move.velocity = 100; }